Changeset 39d70ec in mainline for uspace/srv/hw/netif/dp8390/dp8390_module.c
- Timestamp:
- 2011-01-06T19:50:04Z (14 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- aa1e202
- Parents:
- b187536
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/srv/hw/netif/dp8390/dp8390_module.c
rb187536 r39d70ec 115 115 static void irq_handler(ipc_callid_t iid, ipc_call_t *call) 116 116 { 117 device_id_t device_id = IRQ_GET_DEVICE(*call); 117 118 netif_device_t *device; 118 dpeth_t *dep; 119 packet_t *received; 120 device_id_t device_id; 121 int phone; 122 123 device_id = IRQ_GET_DEVICE(*call); 119 int nil_phone; 120 dpeth_t *dep; 121 124 122 fibril_rwlock_write_lock(&netif_globals.lock); 125 123 126 if (find_device(device_id, &device) != EOK) { 127 fibril_rwlock_write_unlock(&netif_globals.lock); 128 return; 129 } 130 131 dep = (dpeth_t *) device->specific; 132 if (dep->de_mode != DEM_ENABLED) { 133 fibril_rwlock_write_unlock(&netif_globals.lock); 134 return; 135 } 136 137 assert(dep->de_flags & DEF_ENABLED); 138 139 dp_check_ints(dep, IRQ_GET_ISR(*call)); 140 141 if (dep->received_queue) { 142 received = dep->received_queue; 143 phone = device->nil_phone; 144 dep->received_queue = NULL; 145 dep->received_count = 0; 146 fibril_rwlock_write_unlock(&netif_globals.lock); 147 nil_received_msg(phone, device_id, received, SERVICE_NONE); 124 if (find_device(device_id, &device) == EOK) { 125 nil_phone = device->nil_phone; 126 dep = (dpeth_t *) device->specific; 148 127 } else 149 fibril_rwlock_write_unlock(&netif_globals.lock); 128 dep = NULL; 129 130 fibril_rwlock_write_unlock(&netif_globals.lock); 131 132 if ((dep != NULL) && (dep->de_mode == DEM_ENABLED)) { 133 assert(dep->de_flags & DEF_ENABLED); 134 dp_check_ints(nil_phone, device_id, dep, IRQ_GET_ISR(*call)); 135 } 150 136 } 151 137
Note:
See TracChangeset
for help on using the changeset viewer.