Changeset 1d0620b in mainline
- Timestamp:
- 2018-05-22T19:06:50Z (7 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 4e2d387
- Parents:
- 1c40351
- git-author:
- Jakub Jermar <jakub@…> (2018-04-25 18:11:13)
- git-committer:
- Jakub Jermar <jakub@…> (2018-05-22 19:06:50)
- Location:
- uspace
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
TabularUnified uspace/drv/nic/virtio-net/virtio-net.c ¶
r1c40351 r1d0620b 86 86 87 87 if (!features) { 88 pio_write_8(&cfg->device_status, VIRTIO_DEV_STATUS_FAILED);89 return ENOTSUP;88 rc = ENOTSUP; 89 goto fail; 90 90 } 91 91 … … 100 100 uint8_t status = pio_read_8(&cfg->device_status); 101 101 if (!(status & VIRTIO_DEV_STATUS_FEATURES_OK)) { 102 pio_write_8(&cfg->device_status, VIRTIO_DEV_STATUS_FAILED);103 return ENOTSUP;102 rc = ENOTSUP; 103 goto fail; 104 104 } 105 105 … … 109 109 nic_addr.address[i] = netcfg->mac[i]; 110 110 rc = nic_report_address(nic_data, &nic_addr); 111 if (rc != EOK) { 112 pio_write_8(&cfg->device_status, VIRTIO_DEV_STATUS_FAILED); 113 return rc; 114 } 111 if (rc != EOK) 112 goto fail; 115 113 116 114 ddf_msg(LVL_NOTE, "MAC address: %02x:%02x:%02x:%02x:%02x:%02x", 117 nic_addr.address[0], nic_addr.address[1], 118 nic_addr.address[2], nic_addr.address[3], 119 nic_addr.address[4], nic_addr.address[5]); 115 nic_addr.address[0], nic_addr.address[1], nic_addr.address[2], 116 nic_addr.address[3], nic_addr.address[4], nic_addr.address[5]); 120 117 121 118 /* 8. Go live */ … … 123 120 124 121 return EOK; 122 123 fail: 124 pio_write_8(&cfg->device_status, VIRTIO_DEV_STATUS_FAILED); 125 virtio_pci_dev_cleanup(&virtio_net->virtio_dev); 126 return rc; 125 127 } 126 128 -
TabularUnified uspace/lib/virtio/virtio-pci.c ¶
r1c40351 r1d0620b 244 244 } 245 245 246 errno_t virtio_pci_dev_cleanup(virtio_dev_t *vdev) 247 { 248 return disable_resources(vdev); 249 } 250 246 251 /** @} 247 252 */ -
TabularUnified uspace/lib/virtio/virtio-pci.h ¶
r1c40351 r1d0620b 100 100 101 101 extern errno_t virtio_pci_dev_initialize(ddf_dev_t *, virtio_dev_t *); 102 extern errno_t virtio_pci_dev_cleanup(virtio_dev_t *); 102 103 103 104 #endif
Note:
See TracChangeset
for help on using the changeset viewer.