cvs commit: src/sys/boot/common dev_net.c src/sys/boot/uboot/lib console.c copy.c glue.c libuboot.h net.c time.c

Rafal Jaworowski raj at semihalf.com
Wed Apr 16 11:30:18 UTC 2008


Marius Strobl wrote:
>> raj         2008-03-12 16:01:34 UTC
>>
>>   FreeBSD src repository
>>
>>   Modified files:
>>     sys/boot/common      dev_net.c 
>>     sys/boot/uboot/lib   console.c copy.c glue.c libuboot.h net.c 
>>                          time.c 
>>   Log:
>>   Eliminate artificial increasing of 'netdev_opens' counter in loader's net_open().
>>   
>>   This was introduced as a workaround long time ago for some Alpha firmware
>>   (which is now gone), and actually prevented net_close() to ever be
>>   called.
>>   
>>   Certain firmwares (U-Boot) need local shutdown operations to be performed on a
>>   network controller upon transaction end: such platform-specific hooks are
>>   supposed to be called via netif_close() (from within net_close()).
>>   
>>   This change effectively reverts the following CVS commit:
>>   
>>       sys/boot/common/dev_net.c
>>   
>>       revision 1.7
>>       date: 2000/05/13 15:40:46;  author: dfr;  state: Exp;  lines: +2 -1
>>       Only probe network settings on the first open of the network device.
>>       The alpha firmware takes a seriously long time to open the network device
>>       the first time.
>>   
> 
> On at least sparc64 reverting this causes ofwn_init() to be called
> over and over again, which doesn't seem to be the right thing to do
> either.

I think this is expected: the loader/libstand seem to call
devopen()->net_open(), devclose()->net_close() upon each file access, but it
doesn't seem harmful, only additional output is seen in this case. Previously,
due to this artificial increase of 'netdev_opens' counter, the devclose()
method for network device was never called.

Rafal


More information about the cvs-src mailing list