2005-11-15 00:45:34

by Dave Jones

[permalink] [raw]
Subject: Re: [PATCH] i4l: update hfc_usb driver

On Mon, Nov 07, 2005 at 09:21:12AM -0800, Linux Kernel wrote:
> tree 0bb0aeb735a917561cf4d91d4c3fa1ed5434bede
> parent 6978bbc097c2f665c336927a9d56ae39ef75fa56
> author Martin Bachem <[email protected]> Mon, 07 Nov 2005 17:00:20 -0800
> committer Linus Torvalds <[email protected]> Mon, 07 Nov 2005 23:53:47 -0800
>
> [PATCH] i4l: update hfc_usb driver
>
> - cleanup source
> - remove nonfunctional code parts

Something isn't right with this. We've got a number of reports from
Fedora rawhide users over the last few days since this went in that
this module is now auto-loading itself, and preventing other usb devices
from working.

Looking at it, I spotted what I think is one problem, though it isn't a fix..

> +static struct usb_device_id hfcusb_idtab[] = {
> + {
> + .idVendor = 0x0959,
> + .idProduct = 0x2bd0,
> + .driver_info = (unsigned long) &((hfcsusb_vdata)
> + {LED_OFF, {4, 0, 2, 1},
> + "ISDN USB TA (Cologne Chip HFC-S USB based)"}),
> + },
....
> + {
> + .idVendor = 0x07b0,
> + .idProduct = 0x0006,
> + .driver_info = (unsigned long) &((hfcsusb_vdata)
> + {LED_SCHEME1, {0x80, -64, -32, -16},
> + "Twister ISDN TA"}),
> + },
> };

This list isn't terminated.

Signed-off-by: Dave Jones <[email protected]>

--- linux-2.6.14/drivers/isdn/hisax/hfc_usb.c~ 2005-11-14 17:08:04.000000000 -0500
+++ linux-2.6.14/drivers/isdn/hisax/hfc_usb.c 2005-11-14 17:08:17.000000000 -0500
@@ -140,6 +140,7 @@ static struct usb_device_id hfcusb_idtab
{LED_SCHEME1, {0x80, -64, -32, -16},
"Twister ISDN TA"}),
},
+ { } /* Terminating entry */
};



There's still something very odd though...

(19:42:39:davej@nwo:~)$ modinfo hfc_usb
filename: /lib/modules/2.6.14-1.1663_FC5/kernel/drivers/isdn/hisax/hfc_usb.ko
license: GPL
description: HFC-S USB based HiSAX ISDN driver
author: Peter Sprenger ([email protected])
srcversion: 25809AF1F50EE1387A42B75
alias: usb:v*p*d*dc*dsc*dp*ic*isc*ip*
alias: usb:v*p*d*dc*dsc*dp*ic*isc*ip*
alias: usb:v*p*d*dc*dsc*dp*ic*isc*ip*
alias: usb:v*p*d*dc*dsc*dp*ic*isc*ip*
alias: usb:v*p*d*dc*dsc*dp*ic*isc*ip*
alias: usb:v*p*d*dc*dsc*dp*ic*isc*ip*
alias: usb:v*p*d*dc*dsc*dp*ic*isc*ip*
alias: usb:v*p*d*dc*dsc*dp*ic*isc*ip*
alias: usb:v*p*d*dc*dsc*dp*ic*isc*ip*
depends: hisax
vermagic: 2.6.14-1.1663_FC5 SMP gcc-4.0


Note the wildcard aliases.

Dave


2005-11-15 03:31:11

by Andrew Morton

[permalink] [raw]
Subject: Re: [PATCH] i4l: update hfc_usb driver

Dave Jones <[email protected]> wrote:
>
> On Mon, Nov 07, 2005 at 09:21:12AM -0800, Linux Kernel wrote:
> > tree 0bb0aeb735a917561cf4d91d4c3fa1ed5434bede
> > parent 6978bbc097c2f665c336927a9d56ae39ef75fa56
> > author Martin Bachem <[email protected]> Mon, 07 Nov 2005 17:00:20 -0800
> > committer Linus Torvalds <[email protected]> Mon, 07 Nov 2005 23:53:47 -0800
> >
> > [PATCH] i4l: update hfc_usb driver
> >
> > - cleanup source
> > - remove nonfunctional code parts
>
> Something isn't right with this. We've got a number of reports from
> Fedora rawhide users over the last few days since this went in that
> this module is now auto-loading itself, and preventing other usb devices
> from working.

Putting the USB_DEVICE() thingies back in seems to fix it up?


--- devel/drivers/isdn/hisax/hfc_usb.c~a 2005-11-14 19:23:18.000000000 -0800
+++ devel-akpm/drivers/isdn/hisax/hfc_usb.c 2005-11-14 19:25:59.000000000 -0800
@@ -71,78 +71,68 @@ typedef struct {
/****************************************/
static struct usb_device_id hfcusb_idtab[] = {
{
- .idVendor = 0x0959,
- .idProduct = 0x2bd0,
+ USB_DEVICE(0x0959, 0x2bd0),
.driver_info = (unsigned long) &((hfcsusb_vdata)
{LED_OFF, {4, 0, 2, 1},
"ISDN USB TA (Cologne Chip HFC-S USB based)"}),
},
{
- .idVendor = 0x0675,
- .idProduct = 0x1688,
+ USB_DEVICE(0x0675, 0x1688),
.driver_info = (unsigned long) &((hfcsusb_vdata)
{LED_SCHEME1, {1, 2, 0, 0},
"DrayTek miniVigor 128 USB ISDN TA"}),
},
{
- .idVendor = 0x07b0,
- .idProduct = 0x0007,
+ USB_DEVICE(0x07b0, 0x0007),
.driver_info = (unsigned long) &((hfcsusb_vdata)
{LED_SCHEME1, {0x80, -64, -32, -16},
"Billion tiny USB ISDN TA 128"}),
},
{
- .idVendor = 0x0742,
- .idProduct = 0x2008,
+ USB_DEVICE(0x0742, 0x2008),
.driver_info = (unsigned long) &((hfcsusb_vdata)
{LED_SCHEME1, {4, 0, 2, 1},
"Stollmann USB TA"}),
},
{
- .idVendor = 0x0742,
- .idProduct = 0x2009,
+ USB_DEVICE(0x0742, 0x2009),
.driver_info = (unsigned long) &((hfcsusb_vdata)
{LED_SCHEME1, {4, 0, 2, 1},
"Aceex USB ISDN TA"}),
},
{
- .idVendor = 0x0742,
- .idProduct = 0x200A,
+ USB_DEVICE(0x0742, 0x200A),
.driver_info = (unsigned long) &((hfcsusb_vdata)
{LED_SCHEME1, {4, 0, 2, 1},
"OEM USB ISDN TA"}),
},
{
- .idVendor = 0x08e3,
- .idProduct = 0x0301,
+ USB_DEVICE(0x08e3, 0x0301),
.driver_info = (unsigned long) &((hfcsusb_vdata)
{LED_SCHEME1, {2, 0, 1, 4},
"Olitec USB RNIS"}),
},
{
- .idVendor = 0x07fa,
- .idProduct = 0x0846,
+ USB_DEVICE(0x07fa, 0x0846),
.driver_info = (unsigned long) &((hfcsusb_vdata)
{LED_SCHEME1, {0x80, -64, -32, -16},
"Bewan Modem RNIS USB"}),
},
{
- .idVendor = 0x07fa,
- .idProduct = 0x0847,
+ USB_DEVICE(0x07fa, 0x0847),
.driver_info = (unsigned long) &((hfcsusb_vdata)
{LED_SCHEME1, {0x80, -64, -32, -16},
"Djinn Numeris USB"}),
},
{
- .idVendor = 0x07b0,
- .idProduct = 0x0006,
+ USB_DEVICE(0x07b0, 0x0006),
.driver_info = (unsigned long) &((hfcsusb_vdata)
{LED_SCHEME1, {0x80, -64, -32, -16},
"Twister ISDN TA"}),
},
+ { }
};

-
/***************************************************************/
/* structure defining input+output fifos (interrupt/bulk mode) */
/***************************************************************/
_

2005-11-15 03:35:13

by Dave Jones

[permalink] [raw]
Subject: Re: [PATCH] i4l: update hfc_usb driver

On Mon, Nov 14, 2005 at 07:30:25PM -0800, Andrew Morton wrote:
> Dave Jones <[email protected]> wrote:
> >
> > On Mon, Nov 07, 2005 at 09:21:12AM -0800, Linux Kernel wrote:
> > > tree 0bb0aeb735a917561cf4d91d4c3fa1ed5434bede
> > > parent 6978bbc097c2f665c336927a9d56ae39ef75fa56
> > > author Martin Bachem <[email protected]> Mon, 07 Nov 2005 17:00:20 -0800
> > > committer Linus Torvalds <[email protected]> Mon, 07 Nov 2005 23:53:47 -0800
> > >
> > > [PATCH] i4l: update hfc_usb driver
> > >
> > > - cleanup source
> > > - remove nonfunctional code parts
> >
> > Something isn't right with this. We've got a number of reports from
> > Fedora rawhide users over the last few days since this went in that
> > this module is now auto-loading itself, and preventing other usb devices
> > from working.
>
> Putting the USB_DEVICE() thingies back in seems to fix it up?

Sounds good to me :-)

Dave