Changeset e9d15d9 in mainline for uspace/drv/nic
- Timestamp:
- 2017-08-18T21:15:26Z (8 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 24abb85d
- Parents:
- 1c85bae
- Location:
- uspace/drv/nic
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/drv/nic/e1k/e1k.c
r1c85bae re9d15d9 1253 1253 * @param nic Driver data 1254 1254 * 1255 * @return EOKif the handler was registered1255 * @return IRQ capability if the handler was registered 1256 1256 * @return Negative error code otherwise 1257 1257 * … … 1268 1268 e1000_irq_code.cmds[2].addr = e1000->reg_base_phys + E1000_IMC; 1269 1269 1270 int rc = register_interrupt_handler(nic_get_ddf_dev(nic),1271 e1000 ->irq, e1000_interrupt_handler, &e1000_irq_code);1270 int cap = register_interrupt_handler(nic_get_ddf_dev(nic), e1000->irq, 1271 e1000_interrupt_handler, &e1000_irq_code); 1272 1272 1273 1273 fibril_mutex_unlock(&irq_reg_mutex); 1274 return rc;1274 return cap; 1275 1275 } 1276 1276 … … 2152 2152 ddf_fun_set_ops(fun, &e1000_dev_ops); 2153 2153 2154 rc = e1000_register_int_handler(nic); 2155 if (rc != EOK) 2154 int irq_cap = e1000_register_int_handler(nic); 2155 if (irq_cap < 0) { 2156 rc = irq_cap; 2156 2157 goto err_fun_create; 2158 } 2157 2159 2158 2160 rc = e1000_initialize_rx_structure(nic); … … 2189 2191 e1000_uninitialize_rx_structure(nic); 2190 2192 err_irq: 2191 unregister_interrupt_handler(dev, DRIVER_DATA_DEV(dev)->irq);2193 unregister_interrupt_handler(dev, irq_cap); 2192 2194 err_fun_create: 2193 2195 ddf_fun_destroy(fun); -
uspace/drv/nic/ne2k/ne2k.c
r1c85bae re9d15d9 160 160 } 161 161 162 int rc= register_interrupt_handler(nic_get_ddf_dev(nic_data),162 int irq_cap = register_interrupt_handler(nic_get_ddf_dev(nic_data), 163 163 ne2k->irq, ne2k_interrupt_handler, &ne2k->code); 164 return rc;164 return irq_cap; 165 165 } 166 166 … … 228 228 ne2k->probed = true; 229 229 230 rc= ne2k_register_interrupt(nic_data);231 if ( rc != EOK)230 int irq_cap = ne2k_register_interrupt(nic_data); 231 if (irq_cap < 0) 232 232 return EINVAL; 233 233 -
uspace/drv/nic/rtl8139/driver.c
r1c85bae re9d15d9 881 881 * @param nic_data The driver data 882 882 * 883 * @return EOK if the handler was registered, negative error code otherwise 883 * @return IRQ capability if the handler was registered. 884 * @return Negative error code otherwise. 884 885 */ 885 886 inline static int rtl8139_register_int_handler(nic_t *nic_data) … … 894 895 rtl8139_irq_code.cmds[2].addr = rtl8139->io_addr + ISR; 895 896 rtl8139_irq_code.cmds[3].addr = rtl8139->io_addr + IMR; 896 int rc= register_interrupt_handler(nic_get_ddf_dev(nic_data),897 int cap = register_interrupt_handler(nic_get_ddf_dev(nic_data), 897 898 rtl8139->irq, rtl8139_interrupt_handler, &rtl8139_irq_code); 898 899 899 900 RTL8139_IRQ_STRUCT_UNLOCK(); 900 901 901 return rc;902 return cap; 902 903 } 903 904 … … 1321 1322 1322 1323 /* Register interrupt handler */ 1323 rc = rtl8139_register_int_handler(nic_data); 1324 if (rc != EOK) 1324 int irq_cap = rtl8139_register_int_handler(nic_data); 1325 if (irq_cap < 0) { 1326 rc = irq_cap; 1325 1327 goto err_pio; 1328 } 1326 1329 1327 1330 fun = ddf_fun_create(nic_get_ddf_dev(nic_data), fun_exposed, "port0"); … … 1355 1358 ddf_fun_destroy(fun); 1356 1359 err_srv: 1357 unregister_interrupt_handler(dev, rtl8139->irq);1360 unregister_interrupt_handler(dev, irq_cap); 1358 1361 err_pio: 1359 1362 // rtl8139_pio_disable(dev); -
uspace/drv/nic/rtl8169/driver.c
r1c85bae re9d15d9 371 371 rtl8169_irq_code.cmds[2].addr = rtl8169->regs + ISR; 372 372 rtl8169_irq_code.cmds[3].addr = rtl8169->regs + IMR; 373 int rc= register_interrupt_handler(nic_get_ddf_dev(nic_data),373 int irq_cap = register_interrupt_handler(nic_get_ddf_dev(nic_data), 374 374 rtl8169->irq, rtl8169_irq_handler, &rtl8169_irq_code); 375 375 376 return rc;376 return irq_cap; 377 377 } 378 378 … … 426 426 goto err_pio; 427 427 428 rc = rtl8169_register_int_handler(nic_data); 429 if (rc != EOK) { 428 int irq_cap = rtl8169_register_int_handler(nic_data); 429 if (irq_cap < 0) { 430 rc = irq_cap; 430 431 ddf_msg(LVL_ERROR, "Failed to register IRQ handler (%d)", rc); 431 432 goto err_irq; 432 433 433 } 434 434 … … 469 469 err_srv: 470 470 /* XXX Disconnect from services */ 471 unregister_interrupt_handler(dev, irq_cap); 471 472 err_irq: 472 //unregister_interrupt_handler(dev, rtl8169->irq);473 473 err_pio: 474 474 err_destroy:
Note:
See TracChangeset
for help on using the changeset viewer.