Menu

#11 Compilation failure with kernel-2.6.15_FC5

open
nobody
None
5
2006-04-07
2006-04-07
Anonymous
No

Compilation of eagle-usb-2.3.2 (1.9.9.1 same)

/tmp/eagle-usb/eagle-usb-src/driver/eu_main.c:174:
error: unknown field ‘owner’ specified in initializer
/tmp/eagle-usb/eagle-usb-src/driver/eu_main.c:174:
warning: initialization from incompatible pointer type
/tmp/eagle-usb/eagle-usb-src/driver/eu_main.c: In
function ‘eu_disconnect_postfirm’:
/tmp/eagle-usb/eagle-usb-src/driver/eu_main.c:950:
error: ‘URB_ASYNC_UNLINK’ undeclared (first use in this
function)
/tmp/eagle-usb/eagle-usb-src/driver/eu_main.c:950:
error: (Each undeclared identifier is reported only
once /tmp/eagle-usb/eagle-usb-src/driver/eu_main.c:950:
error: for each function it appears in.) make[3]: ***
[/tmp/eagle-usb/eagle-usb-src/driver/eu_main.o] Error 1
make[2]: ***
[_module_/tmp/eagle-usb/eagle-usb-src/driver] Error 2
make[1]: *** [eagle-usb.ko] Error 2 make: *** [build]
Error 2

Discussion

  • Nobody/Anonymous

    Logged In: NO

    This is a change in the stock kernel USB API - its trying
    to call a field that is now deprecated. The developers
    need to keep up with changes in the USB API, else this
    driver is essentially useless.

     
  • Anonymous

    Anonymous - 2006-06-18

    Logged In: YES
    user_id=602491

    You need the following...

    --- eagle-usb-2.3.1/driver/Pipes.c.orig 2005-01-17
    21:54:42.000000000 +0100
    +++ eagle-usb-2.3.1/driver/Pipes.c 2005-11-03
    21:29:53.000000000 +0100
    @@ -919,7 +919,9 @@
    * -EINVAL.
    */
    urb->status = 0;
    +#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,14)
    urb->transfer_flags &= ~URB_ASYNC_UNLINK;
    +#endif
    }
    else
    {
    --- eagle-usb-2.3.1/driver/eu_eth.c.orig 2005-01-17
    21:54:42.000000000 +0100
    +++ eagle-usb-2.3.1/driver/eu_eth.c 2005-11-03
    21:33:19.000000000 +0100
    @@ -495,11 +495,16 @@
    * netif_wakequeue:
    */

    +#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,14)
    ins->urb_write->transfer_flags |= URB_ASYNC_UNLINK;
    usb_unlink_urb(ins->urb_write);

    ins->urb_oam_write->transfer_flags |=
    URB_ASYNC_UNLINK;
    usb_unlink_urb(ins->urb_oam_write);
    +#else
    + USB_KILL_URB(ins->urb_write);
    + USB_KILL_URB(ins->urb_oam_write);
    +#endif

    /* We must reset the transaction time to keep the
    watchdog quiet: */
    dev->trans_start = jiffies;

    --- driver/eu_main.c 2005-05-20 14:27:45.000000000 +0100
    +++ ../eagle/driver/eu_main.c 2006-06-18
    19:01:37.000000000 +0100
    @@ -172,7 +172,7 @@
    */
    static struct usb_driver eu_driver =
    {
    -#if LINUX_VERSION_CODE > KERNEL_VERSION(2,4,19)
    +#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,15)
    .owner = THIS_MODULE,
    #endif
    .name = "eagle-usb",

     

Log in to post a comment.

MongoDB Logo MongoDB