Subject: Re: igbvf: add new driver to support 82576 virtual functions

From: Alexander Duyck <[email-masked]>
Date: Wed, 25 Mar 2009 09:10:48 -0700

Zhao, Yu wrote:
> On Wed, Mar 25, 2009 at 05:03:29PM +0800, Kirsher, Jeffrey T wrote:
>> On Wed, Mar 25, 2009 at 1:45 AM, Jeff Kirsher
>> <[email-masked]> wrote:
>>> On Tue, Mar 24, 2009 at 11:38 PM, David Miller <[email-masked]> wrote:
>>>> This breaks the build:
>>>>
>>>> drivers/net/igbvf/ethtool.c: In function 'igbvf_set_ringparam':
>>>> drivers/net/igbvf/ethtool.c:299: error: implicit declaration of function 'vmalloc'
>>>> drivers/net/igbvf/ethtool.c:299: warning: assignment makes pointer from integer without a cast
>>>> drivers/net/igbvf/ethtool.c:346: error: implicit declaration of function 'vfree'
>>>> --
>>> Sorry Dave, I thought this was called out earlier, but I see it was
>>> not.  The igbvf driver requires the following patches applied to your
>>> tree to have them compile.  Last I heard, these SR-IOV patches were
>>> accepted for 2.6.30, in the PCI tree.
>>>
>>> Yu, can you confirm that these patches have been accepted for 2.6.30?
>>>
>>> Summary:
>>> http://marc.info/?l=linux-kernel&m=123751955907397&w=2
>>> Patches:
>>> http://marc.info/?l=linux-kernel&m=123751956107417&w=2
>>> http://marc.info/?l=linux-kernel&m=123751956207423&w=2
>>> http://marc.info/?l=linux-kernel&m=123751981407629&w=2
>>> http://marc.info/?l=linux-kernel&m=123751981507632&w=2
>>> http://marc.info/?l=linux-kernel&m=123751981707644&w=2
>>> http://marc.info/?l=linux-kernel&m=123751981607635&w=2
>>> http://marc.info/?l=linux-kernel&m=123751981607638&w=2
>>> http://marc.info/?l=linux-kernel&m=123751981707641&w=2
>> I confirmed that Jesse Barnes has these SR-IOV patches queued up for 2.6.30.
>> http://marc.info/?l=linux-kernel&m=123757169806111&w=2
> 
> Yes, it's in Jesse's linux-next branch:
> http://git.kernel.org/?p=linux/kernel/git/jbarnes/pci-2.6.git;a=shortlog;h=linux-next
> 
> Thanks,
> Yu

The problem isn't the SR-IOV patches it is a difference in 
architectures.  The x86/x86_64 architecture lets you be a bit more 
sloppy when it comes to including vmalloc.  I've seen it in the past 
with igb, and I suspect that is why we didn't catch this in testing.  We 
just need to add a #include of vmalloc.h in ethtool.c and the issue 
should be fixed.

Thanks,

Alex