Subject: Re: [PATCH] pcnet32: VLB support fixes

From: Jeff Garzik <[email-masked]>
Date: Thu, 30 Jul 2009 17:58:00 -0400

Bartlomiej Zolnierkiewicz wrote:
> On Thursday 30 July 2009 23:32:19 Jeff Garzik wrote:
>> Bartlomiej Zolnierkiewicz wrote:
>>> From: Bartlomiej Zolnierkiewicz <[email-masked]>
>>> Subject: [PATCH] pcnet32: VLB support fixes
>>>
>>> VLB support has been broken since at least 2004-2005 period as some
>>> changes introduced back then assumed that ->pci_dev is always valid,
>>> lets try to fix it:
>>>
>>> - remove duplicated SET_NETDEV_DEV() call
>>>
>>> - call SET_NETDEV_DEV() only for PCI devices
>>>
>>> - check for ->pci_dev validity in pcnet32_open()
>>>
>>> [ Alternatively we may consider removing VLB support but there would not
>>>   be much gain in it since an extra driver code needed for VLB support is
>>>   minimal and quite simple. ]
>>>
>>> This takes care of the following entry from Dan's list:
>>>
>>> drivers/net/pcnet32.c +1889 pcnet32_probe1(298) warning: variable derefenced before check 'pdev'
>>>
>>> Reported-by: Dan Carpenter <[email-masked]>
>>> Cc: [email-masked]
>>> Cc: [email-masked]
>>> Cc: Julia Lawall <[email-masked]>
>>> Signed-off-by: Bartlomiej Zolnierkiewicz <[email-masked]>
>>> ---
>>> PS I still keep the original cc: list from the smatch thread -- please let
>>> me know if you don't want to be spammed.. ;-)
>>>
>>>  drivers/net/pcnet32.c |   12 +++++++-----
>>>  1 file changed, 7 insertions(+), 5 deletions(-)
>> ACK -- the patch is correct AFAICS -- but would it not be better to have 
>> a struct device for the VLB device?
> 
> Sure, such addition would be needed for sysfs support on VLB devices..

>> We have capability to create struct device for isa and eisa, so VLB is 
>> quite doable.
>>
>> 	Jeff, who converted old-ISDN ISA+EISA+PCI drivers to
>> 	      hotplug model, once upon a time
> 
> ..and it seems that you've the needed experience! :)

<grin>  In my esteemed experience, I point you to the 39-line 
include/linux/isa.h as a starting point for grep...  :)

	Jeff