Rev 4704 | Rev 4728 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
| Rev 4704 | Rev 4722 | ||
|---|---|---|---|
| Line 322... | Line 322... | ||
| 322 | printf( "Device %d already exists\n", device->device_id ); |
322 | printf( "Device %d already exists\n", device->device_id ); |
| 323 | fibril_rwlock_write_unlock( & eth_globals.devices_lock ); |
323 | fibril_rwlock_write_unlock( & eth_globals.devices_lock ); |
| 324 | return EEXIST; |
324 | return EEXIST; |
| 325 | }else{ |
325 | }else{ |
| 326 | // update mtu |
326 | // update mtu |
| - | 327 | if(( mtu > 0 ) && ( mtu <= ETH_MAX_TAGGED_CONTENT( device->flags ))){ |
|
| 327 | device->mtu = mtu; |
328 | device->mtu = mtu; |
| - | 329 | }else{ |
|
| - | 330 | device->mtu = ETH_MAX_TAGGED_CONTENT( device->flags ); |
|
| - | 331 | } |
|
| 328 | printf( "Device %d already exists:\tMTU\t= %d\n", device->device_id, device->mtu ); |
332 | printf( "Device %d already exists:\tMTU\t= %d\n", device->device_id, device->mtu ); |
| 329 | fibril_rwlock_write_unlock( & eth_globals.devices_lock ); |
333 | fibril_rwlock_write_unlock( & eth_globals.devices_lock ); |
| 330 | // notify all upper layer modules |
334 | // notify all upper layer modules |
| 331 | fibril_rwlock_read_lock( & eth_globals.protos_lock ); |
335 | fibril_rwlock_read_lock( & eth_globals.protos_lock ); |
| 332 | for( index = 0; index < eth_protos_count( & eth_globals.protos ); ++ index ){ |
336 | for( index = 0; index < eth_protos_count( & eth_globals.protos ); ++ index ){ |
| Line 343... | Line 347... | ||
| 343 | device = ( eth_device_ref ) malloc( sizeof( eth_device_t )); |
347 | device = ( eth_device_ref ) malloc( sizeof( eth_device_t )); |
| 344 | if( ! device ) return ENOMEM; |
348 | if( ! device ) return ENOMEM; |
| 345 | device->device_id = device_id; |
349 | device->device_id = device_id; |
| 346 | device->service = service; |
350 | device->service = service; |
| 347 | device->flags = 0; |
351 | device->flags = 0; |
| 348 | device->mtu = (( mtu > 0 ) && ( mtu <= ETH_MAX_TAGGED_CONTENT( device->flags ))) ? mtu : ETH_MAX_TAGGED_CONTENT( device->flags ); |
352 | if(( mtu > 0 ) && ( mtu <= ETH_MAX_TAGGED_CONTENT( device->flags ))){ |
| - | 353 | device->mtu = mtu; |
|
| - | 354 | }else{ |
|
| - | 355 | device->mtu = ETH_MAX_TAGGED_CONTENT( device->flags ); |
|
| - | 356 | } |
|
| 349 | configuration = & names[ 0 ]; |
357 | configuration = & names[ 0 ]; |
| 350 | if( ERROR_OCCURRED( net_get_device_conf_req( eth_globals.net_phone, device->device_id, & configuration, count, & data ))){ |
358 | if( ERROR_OCCURRED( net_get_device_conf_req( eth_globals.net_phone, device->device_id, & configuration, count, & data ))){ |
| 351 | fibril_rwlock_write_unlock( & eth_globals.devices_lock ); |
359 | fibril_rwlock_write_unlock( & eth_globals.devices_lock ); |
| 352 | free( device ); |
360 | free( device ); |
| 353 | return ERROR_CODE; |
361 | return ERROR_CODE; |