Menu

#9 not compatible with linux-2.6.29.1

open
nobody
None
5
2009-04-24
2009-04-24
Anonymous
No

With Linux 2.6.29.1 et131x v 1.2.3-3 does not build.

#@make -C /lib/modules/2.6.29-02062901-generic/build M=/usr/src/et131x-1.2.3-3 modules
make[1]: Entering directory `/usr/src/linux-headers-2.6.29-02062901-generic'
CC [M] /usr/src/et131x-1.2.3-3/et131x_main.o
CC [M] /usr/src/et131x-1.2.3-3/et131x_initpci.o
/usr/src/et131x-1.2.3-3/et131x_initpci.c: In function ‘et131x_pci_remove’:
/usr/src/et131x-1.2.3-3/et131x_initpci.c:1169: error: ‘struct net_device’ has no member named ‘priv’
/usr/src/et131x-1.2.3-3/et131x_initpci.c: In function ‘et131x_pci_setup’:
/usr/src/et131x-1.2.3-3/et131x_initpci.c:1506: error: ‘struct net_device’ has no member named ‘priv’
make[2]: *** [/usr/src/et131x-1.2.3-3/et131x_initpci.o] Error 1
make[1]: *** [_module_/usr/src/et131x-1.2.3-3] Error 2
make[1]: Leaving directory `/usr/src/linux-headers-2.6.29-02062901-generic'
make: *** [modules] Error 2

Discussion

  • Nobody/Anonymous

    The 'priv' member of struct net_device has been replaced with the function netdev_priv().

    All uses of priv need to be updated.

     
  • Noah Stephens

    Noah Stephens - 2009-06-10

    I found a fix that works for me. In et131x_supp.h there is a macro that maintains compatibility with older kernel versions by replacing netdev_priv( dev ) calls with dev->priv. For some reason this directive is incorrectly activated during compilation.

    Fix:

    open et131x_supp.h and comment out the following lines:

    #ifndef netdev_priv
    #define netdev_priv(x) (ET131X_ADAPTER *)netdev->priv
    #endif

     

Log in to post a comment.