2008-06-27 00:08:27

by Ben Collins

[permalink] [raw]
Subject: [PATCH] keyspan: Remove duplicate device entries

The 28xb, as documented in comments, has the same ID's as the 28x.
Remove the duplicated ID's from the device tables, and expand the
comment to document this.

Signed-off-by: Ben Collins <[email protected]>
CC: Greg Kroah-Hartman <[email protected]>

diff --git a/drivers/usb/serial/keyspan.h b/drivers/usb/serial/keyspan.h
index 8d6ed02..cc48512 100644
--- a/drivers/usb/serial/keyspan.h
+++ b/drivers/usb/serial/keyspan.h
@@ -222,7 +222,8 @@ struct ezusb_hex_record {

/* Product IDs post-renumeration. Note that the 28x and 28xb
have the same id's post-renumeration but behave identically
- so it's not an issue. */
+ so it's not an issue. As such, the 28xb is not listed in any
+ of the device tables. */
#define keyspan_usa18x_product_id 0x0112
#define keyspan_usa19_product_id 0x0107
#define keyspan_usa19qi_product_id 0x010c
@@ -566,7 +567,6 @@ static struct usb_device_id keyspan_ids_combined[] = {
{ USB_DEVICE(KEYSPAN_VENDOR_ID, keyspan_usa28_product_id) },
{ USB_DEVICE(KEYSPAN_VENDOR_ID, keyspan_usa28x_product_id) },
{ USB_DEVICE(KEYSPAN_VENDOR_ID, keyspan_usa28xa_product_id) },
- { USB_DEVICE(KEYSPAN_VENDOR_ID, keyspan_usa28xb_product_id) },
{ USB_DEVICE(KEYSPAN_VENDOR_ID, keyspan_usa28xg_product_id) },
{ USB_DEVICE(KEYSPAN_VENDOR_ID, keyspan_usa49w_product_id)},
{ USB_DEVICE(KEYSPAN_VENDOR_ID, keyspan_usa49wlc_product_id)},
@@ -616,7 +616,6 @@ static struct usb_device_id keyspan_2port_ids[] = {
{ USB_DEVICE(KEYSPAN_VENDOR_ID, keyspan_usa28_product_id) },
{ USB_DEVICE(KEYSPAN_VENDOR_ID, keyspan_usa28x_product_id) },
{ USB_DEVICE(KEYSPAN_VENDOR_ID, keyspan_usa28xa_product_id) },
- { USB_DEVICE(KEYSPAN_VENDOR_ID, keyspan_usa28xb_product_id) },
{ USB_DEVICE(KEYSPAN_VENDOR_ID, keyspan_usa28xg_product_id) },
{ } /* Terminating entry */
};


2008-06-27 04:04:59

by Greg KH

[permalink] [raw]
Subject: Re: [PATCH] keyspan: Remove duplicate device entries

On Thu, Jun 26, 2008 at 08:08:16PM -0400, Ben Collins wrote:
> The 28xb, as documented in comments, has the same ID's as the 28x.
> Remove the duplicated ID's from the device tables, and expand the
> comment to document this.

Was this causing a problem somehow? How did you notice this? Good
catch.

I'll add it to my queue, thanks,

greg k-h

2008-06-27 14:36:39

by Ben Collins

[permalink] [raw]
Subject: Re: [PATCH] keyspan: Remove duplicate device entries

On Thu, 2008-06-26 at 20:47 -0700, Greg KH wrote:
> On Thu, Jun 26, 2008 at 08:08:16PM -0400, Ben Collins wrote:
> > The 28xb, as documented in comments, has the same ID's as the 28x.
> > Remove the duplicated ID's from the device tables, and expand the
> > comment to document this.
>
> Was this causing a problem somehow? How did you notice this? Good
> catch.

Wasn't causing a problem, but I wrote a script awhile back that parses
modules.alias looking for exact matches (doesn't do any fnmatch stuff,
which might show more overlaps). Attached so you can see where this is
coming from.

Mainly I wrote it to make sure we didn't have any module overlap
(hostap/orinico kind of stuff), but it catches same module matching as
well.

> I'll add it to my queue, thanks,

Np

#!/usr/bin/perl -w

my %map;

if (!defined($ARGV[0])) {
print STDERR "Usage: check-aliases <modules.alias>\n";
exit(1);
}

$aliases = $ARGV[0];

open(ALIASES, "< $aliases") or die "Could not open $aliases";

while (<ALIASES>) {
chomp;
my ($junk, $alias, $module) = split;

if (defined($map{$alias})) {
printf("%s %20s / %-20s : %s \n", ("$map{$alias}" eq "$module")
? "INT" : " ", $map{$alias}, $module, $alias);
} else {
$map{$alias} = $module;
}
}

exit(0);