Changeset 408 for trunk/kernel/devices/dev_nic.c
- Timestamp:
- Dec 5, 2017, 4:20:07 PM (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/kernel/devices/dev_nic.c
r407 r408 79 79 nic->server = new_thread; 80 80 81 // start server thread 82 thread_block( new_thread , THREAD_BLOCKED_DEV_QUEUE ); 81 // set "chdev" field in thread descriptor 82 new_thread->chdev = nic; 83 84 // unblock server thread 83 85 thread_unblock( XPTR( local_cxy , new_thread ) , THREAD_BLOCKED_GLOBAL ); 84 86 … … 101 103 102 104 // get pointer on NIC-RX chdev descriptor 103 uint32_t channel = thread_ptr-> dev_channel;105 uint32_t channel = thread_ptr->chdev->channel; 104 106 xptr_t dev_xp = chdev_dir.nic_rx[channel]; 105 107 cxy_t dev_cxy = GET_CXY( dev_xp ); … … 129 131 // block on THREAD_BLOCKED_IO condition and deschedule 130 132 thread_block( thread_ptr , THREAD_BLOCKED_IO ); 131 sched_yield( );133 sched_yield("client blocked on I/O"); 132 134 133 135 // disable NIC-RX IRQ … … 171 173 172 174 // get pointer on NIC-TX chdev descriptor 173 uint32_t channel = thread_ptr-> dev_channel;175 uint32_t channel = thread_ptr->chdev->channel; 174 176 xptr_t dev_xp = chdev_dir.nic_tx[channel]; 175 177 cxy_t dev_cxy = GET_CXY( dev_xp ); … … 199 201 // block on THREAD_BLOCKED I/O condition and deschedule 200 202 thread_block( thread_ptr , THREAD_BLOCKED_IO ); 201 sched_yield( );203 sched_yield("client blocked on I/O"); 202 204 203 205 // disable NIC-TX IRQ
Note: See TracChangeset
for help on using the changeset viewer.