Rev 4327 | Rev 4351 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 4327 | Rev 4332 | ||
---|---|---|---|
Line 146... | Line 146... | ||
146 | dpeth_t * dep; |
146 | dpeth_t * dep; |
147 | packet_t received; |
147 | packet_t received; |
148 | device_id_t device_id; |
148 | device_id_t device_id; |
149 | int phone; |
149 | int phone; |
150 | 150 | ||
151 | // async_serialize_start(); |
- | |
152 | device_id = IRQ_GET_DEVICE( call ); |
151 | device_id = IRQ_GET_DEVICE( call ); |
153 | rwlock_write_lock( & netif_globals.lock ); |
152 | rwlock_write_lock( & netif_globals.lock ); |
154 | if( find_device( device_id, & device ) != EOK ){ |
153 | if( find_device( device_id, & device ) != EOK ){ |
155 | rwlock_write_unlock( & netif_globals.lock ); |
154 | rwlock_write_unlock( & netif_globals.lock ); |
156 | // async_serialize_end() |
- | |
157 | return; |
155 | return; |
158 | } |
156 | } |
159 | dep = ( dpeth_t * ) device->specific; |
157 | dep = ( dpeth_t * ) device->specific; |
160 | if ( dep->de_mode != DEM_ENABLED){ |
158 | if ( dep->de_mode != DEM_ENABLED){ |
161 | rwlock_write_unlock( & netif_globals.lock ); |
159 | rwlock_write_unlock( & netif_globals.lock ); |
162 | // async_serialize_end() |
- | |
163 | return; |
160 | return; |
164 | } |
161 | } |
165 | assert( dep->de_flags & DEF_ENABLED); |
162 | assert( dep->de_flags & DEF_ENABLED); |
166 | dep->de_int_pending= 0; |
163 | dep->de_int_pending= 0; |
167 | printf( "I%d -%d\n", device_id, IPC_GET_ISR( call )); |
164 | printf( "I%d: %d\n", device_id, IPC_GET_ISR( call )); |
168 | /* putchar( 'I' ); |
- | |
169 | putchar( '0' + device_id ); |
- | |
170 | putchar( '-' ); |
- | |
171 | putchar( '0' + IPC_GET_ISR( call ) / 100 ); |
- | |
172 | putchar( '0' + ( IPC_GET_ISR( call ) % 100 ) / 10 ); |
- | |
173 | putchar( '0' + IPC_GET_ISR( call ) % 10 ); |
- | |
174 | putchar( '\n' ); |
- | |
175 | */ dp_check_ints( dep, IPC_GET_ISR( call )); |
165 | dp_check_ints( dep, IPC_GET_ISR( call )); |
176 | if( dep->received_queue ){ |
166 | if( dep->received_queue ){ |
177 | received = dep->received_queue; |
167 | received = dep->received_queue; |
178 | phone = device->nil_phone; |
168 | phone = device->nil_phone; |
179 | dep->received_queue = NULL; |
169 | dep->received_queue = NULL; |
180 | rwlock_write_unlock( & netif_globals.lock ); |
170 | rwlock_write_unlock( & netif_globals.lock ); |
- | 171 | // TODO remove debug dump: |
|
- | 172 | uint8_t * data; |
|
- | 173 | data = packet_get_data( received ); |
|
- | 174 | printf( "Receiving packet:\n\tid\t= %d\n\tlength\t= %d\n\tdata\t= %.2hhX %.2hhX %.2hhX %.2hhX:%.2hhX %.2hhX %.2hhX %.2hhX:%.2hhX %.2hhX %.2hhX %.2hhX:%.2hhX %.2hhX %.2hhX %.2hhX:%.2hhX %.2hhX %.2hhX %.2hhX:%.2hhX %.2hhX\n\t\t%.2hhX %.2hhX:%.2hhX %.2hhX %.2hhX %.2hhX:%.2hhX %.2hhX %.2hhX %.2hhX:%.2hhX %.2hhX %.2hhX %.2hhX:%.2hhX %.2hhX %.2hhX %.2hhX:%.2hhX %.2hhX %.2hhX %.2hhX:%.2hhX %.2hhX %.2hhX %.2hhX:%.2hhX %.2hhX %.2hhX %.2hhX:%.2hhX %.2hhX %.2hhX %.2hhX:%.2hhX %.2hhX %.2hhX %.2hhX\n", packet_get_id( received ), packet_get_data_length( received ), data[ 0 ], data[ 1 ], data[ 2 ], data[ 3 ], data[ 4 ], data[ 5 ], data[ 6 ], data[ 7 ], data[ 8 ], data[ 9 ], data[ 10 ], data[ 11 ], data[ 12 ], data[ 13 ], data[ 14 ], data[ 15 ], data[ 16 ], data[ 17 ], data[ 18 ], data[ 19 ], data[ 20 ], data[ 21 ], data[ 22 ], data[ 23 ], data[ 24 ], data[ 25 ], data[ 26 ], data[ 27 ], data[ 28 ], data[ 29 ], data[ 30 ], data[ 31 ], data[ 32 ], data[ 33 ], data[ 34 ], data[ 35 ], data[ 36 ], data[ 37 ], data[ 38 ], data[ 39 ], data[ 40 ], data[ 41 ], data[ 42 ], data[ 43 ], data[ 44 ], data[ 45 ], data[ 46 ], data[ 47 ], data[ 48 ], data[ 49 ], data[ 50 ], data[ 51 ], data[ 52 ], data[ 53 ], data[ 54 ], data[ 55 ], data[ 56 ], data[ 57 ], data[ 58 ], data[ 59 ] ); |
|
181 | nil_received_msg( phone, device_id, received, NULL ); |
175 | nil_received_msg( phone, device_id, received, NULL ); |
182 | }else{ |
176 | }else{ |
183 | rwlock_write_unlock( & netif_globals.lock ); |
177 | rwlock_write_unlock( & netif_globals.lock ); |
184 | } |
178 | } |
185 | ipc_answer_0( iid, EOK ); |
179 | ipc_answer_0( iid, EOK ); |
186 | // async_serialize_end() |
- | |
187 | } |
180 | } |
188 | 181 | ||
189 | int netif_probe_auto_message( void ){ |
182 | int netif_probe_auto_message( void ){ |
190 | return ENOTSUP; |
183 | return ENOTSUP; |
191 | } |
184 | } |
Line 246... | Line 239... | ||
246 | if( do_pwrite( dep, packet, FALSE ) != EBUSY ){ |
239 | if( do_pwrite( dep, packet, FALSE ) != EBUSY ){ |
247 | netif_pq_release( packet_get_id( packet )); |
240 | netif_pq_release( packet_get_id( packet )); |
248 | } |
241 | } |
249 | packet = next; |
242 | packet = next; |
250 | }while( packet ); |
243 | }while( packet ); |
251 | dp8390_dump( dep ); |
- | |
252 | return EOK; |
244 | return EOK; |
253 | } |
245 | } |
254 | 246 | ||
255 | int netif_start_message( device_ref device ){ |
247 | int netif_start_message( device_ref device ){ |
256 | ERROR_DECLARE; |
248 | ERROR_DECLARE; |