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