From: Greg Kroah-Hartman Date: Wed, 15 Sep 2010 20:45:27 +0000 (-0700) Subject: .32 patches X-Git-Tag: v2.6.27.54~31 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=756db25559f683eb07a86d679f63c5364862ee0d;p=thirdparty%2Fkernel%2Fstable-queue.git .32 patches --- diff --git a/queue-2.6.32/alsa-hda-fix-auto-parser-of-alc269vb-for-hp-pin-nid-0x21.patch b/queue-2.6.32/alsa-hda-fix-auto-parser-of-alc269vb-for-hp-pin-nid-0x21.patch new file mode 100644 index 00000000000..947e2dbad8e --- /dev/null +++ b/queue-2.6.32/alsa-hda-fix-auto-parser-of-alc269vb-for-hp-pin-nid-0x21.patch @@ -0,0 +1,31 @@ +From 531d8791accf1464bc6854ff69d08dd866189d17 Mon Sep 17 00:00:00 2001 +From: Kailang Yang +Date: Fri, 9 Apr 2010 10:57:33 +0200 +Subject: ALSA: hda - Fix auto-parser of ALC269vb for HP pin NID 0x21 + +From: Kailang Yang + +commit 531d8791accf1464bc6854ff69d08dd866189d17 upstream. + +ALC269vb has an alternative HP pin 0x21 in addition. +Fix the parser to recognize it. + +Signed-off-by: Kailang Yang +Signed-off-by: Takashi Iwai +Cc: David Henningsson +Signed-off-by: Greg Kroah-Hartman + +--- + sound/pci/hda/patch_realtek.c | 1 + + 1 file changed, 1 insertion(+) + +--- a/sound/pci/hda/patch_realtek.c ++++ b/sound/pci/hda/patch_realtek.c +@@ -12389,6 +12389,7 @@ static int alc268_new_analog_output(stru + dac = 0x02; + break; + case 0x15: ++ case 0x21: /* ALC269vb has this pin, too */ + dac = 0x03; + break; + default: diff --git a/queue-2.6.32/alsa-seq-oss-fix-double-free-at-error-path-of-snd_seq_oss_open.patch b/queue-2.6.32/alsa-seq-oss-fix-double-free-at-error-path-of-snd_seq_oss_open.patch new file mode 100644 index 00000000000..6716f8656ec --- /dev/null +++ b/queue-2.6.32/alsa-seq-oss-fix-double-free-at-error-path-of-snd_seq_oss_open.patch @@ -0,0 +1,56 @@ +From 27f7ad53829f79e799a253285318bff79ece15bd Mon Sep 17 00:00:00 2001 +From: Takashi Iwai +Date: Mon, 6 Sep 2010 09:13:45 +0200 +Subject: ALSA: seq/oss - Fix double-free at error path of snd_seq_oss_open() + +From: Takashi Iwai + +commit 27f7ad53829f79e799a253285318bff79ece15bd upstream. + +The error handling in snd_seq_oss_open() has several bad codes that +do dereferecing released pointers and double-free of kmalloc'ed data. +The object dp is release in free_devinfo() that is called via +private_free callback. The rest shouldn't touch this object any more. + +The patch changes delete_port() to call kfree() in any case, and gets +rid of unnecessary calls of destructors in snd_seq_oss_open(). + +Fixes CVE-2010-3080. + +Reported-and-tested-by: Tavis Ormandy +Signed-off-by: Takashi Iwai +Signed-off-by: Greg Kroah-Hartman + +--- + sound/core/seq/oss/seq_oss_init.c | 9 ++++----- + 1 file changed, 4 insertions(+), 5 deletions(-) + +--- a/sound/core/seq/oss/seq_oss_init.c ++++ b/sound/core/seq/oss/seq_oss_init.c +@@ -280,13 +280,10 @@ snd_seq_oss_open(struct file *file, int + return 0; + + _error: +- snd_seq_oss_writeq_delete(dp->writeq); +- snd_seq_oss_readq_delete(dp->readq); + snd_seq_oss_synth_cleanup(dp); + snd_seq_oss_midi_cleanup(dp); +- delete_port(dp); + delete_seq_queue(dp->queue); +- kfree(dp); ++ delete_port(dp); + + return rc; + } +@@ -349,8 +346,10 @@ create_port(struct seq_oss_devinfo *dp) + static int + delete_port(struct seq_oss_devinfo *dp) + { +- if (dp->port < 0) ++ if (dp->port < 0) { ++ kfree(dp); + return 0; ++ } + + debug_printk(("delete_port %i\n", dp->port)); + return snd_seq_event_port_detach(dp->cseq, dp->port); diff --git a/queue-2.6.32/series b/queue-2.6.32/series index 8398a756ec1..2985ef8ec91 100644 --- a/queue-2.6.32/series +++ b/queue-2.6.32/series @@ -25,3 +25,11 @@ usb-serial-extra-device-vendor-id-for-mos7840-driver.patch usb-serial-mos7840-add-usb-id-to-support-the-b-b-electronics-usoptl4-2p.patch usb-mos7840-fix-dma-buffers-on-stack-and-endianess-bugs.patch usb-serial-mos7840-add-usb-ids-to-support-more-b-b-usb-rs485-converters.patch +usb-exposing-second-acm-channel-as-tty-for-nokia-s60-phones.patch +usb-cdc-acm-add-another-device-quirk.patch +usb-expose-vendor-specific-acm-channel-on-nokia-5230.patch +usb-cdc-acm-adding-second-acm-channel-support-for-various-nokia-and-one-samsung-phones.patch +usb-cdc-acm-add-pseudo-modem-without-at-command-capabilities.patch +usb-cdc-acm-fixing-crash-when-acm-probing-interfaces-with-no-endpoint-descriptors.patch +alsa-hda-fix-auto-parser-of-alc269vb-for-hp-pin-nid-0x21.patch +alsa-seq-oss-fix-double-free-at-error-path-of-snd_seq_oss_open.patch diff --git a/queue-2.6.32/usb-cdc-acm-add-another-device-quirk.patch b/queue-2.6.32/usb-cdc-acm-add-another-device-quirk.patch new file mode 100644 index 00000000000..73ae517d6d8 --- /dev/null +++ b/queue-2.6.32/usb-cdc-acm-add-another-device-quirk.patch @@ -0,0 +1,30 @@ +From c3baa19b0a9b711b02cec81d9fea33b7b9628957 Mon Sep 17 00:00:00 2001 +From: Russ Nelson +Date: Wed, 21 Apr 2010 23:07:03 -0400 +Subject: USB: cdc-acm: add another device quirk + +From: Russ Nelson + +commit c3baa19b0a9b711b02cec81d9fea33b7b9628957 upstream. + +The Maretron USB100 needs this quirk in order to work properly. + +Signed-off-by: Russ Nelson +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/usb/class/cdc-acm.c | 3 +++ + 1 file changed, 3 insertions(+) + +--- a/drivers/usb/class/cdc-acm.c ++++ b/drivers/usb/class/cdc-acm.c +@@ -1527,6 +1527,9 @@ static struct usb_device_id acm_ids[] = + { USB_DEVICE(0x1bbb, 0x0003), /* Alcatel OT-I650 */ + .driver_info = NO_UNION_NORMAL, /* reports zero length descriptor */ + }, ++ { USB_DEVICE(0x1576, 0x03b1), /* Maretron USB100 */ ++ .driver_info = NO_UNION_NORMAL, /* reports zero length descriptor */ ++ }, + + /* Nokia S60 phones expose two ACM channels. The first is + * a modem and is picked up by the standard AT-command diff --git a/queue-2.6.32/usb-cdc-acm-add-pseudo-modem-without-at-command-capabilities.patch b/queue-2.6.32/usb-cdc-acm-add-pseudo-modem-without-at-command-capabilities.patch new file mode 100644 index 00000000000..3b2e5affc64 --- /dev/null +++ b/queue-2.6.32/usb-cdc-acm-add-pseudo-modem-without-at-command-capabilities.patch @@ -0,0 +1,36 @@ +From 5b239f0aebd4dd6f85b13decf5e18e86e35d57f0 Mon Sep 17 00:00:00 2001 +From: Philippe Corbes +Date: Tue, 31 Aug 2010 19:31:32 +0200 +Subject: USB: cdc-acm: Add pseudo modem without AT command capabilities + +From: Philippe Corbes + +commit 5b239f0aebd4dd6f85b13decf5e18e86e35d57f0 upstream. + +cdc-acm.c : Manage pseudo-modem without AT commands capabilities + Enable to drive electronic simple gadgets based on microcontrolers. + The Interface descriptor is like this: + bInterfaceClass 2 Communications + bInterfaceSubClass 2 Abstract (modem) + bInterfaceProtocol 0 None + +Signed-off-by: Philippe Corbes +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/usb/class/cdc-acm.c | 4 ++++ + 1 file changed, 4 insertions(+) + +--- a/drivers/usb/class/cdc-acm.c ++++ b/drivers/usb/class/cdc-acm.c +@@ -1599,6 +1599,10 @@ static struct usb_device_id acm_ids[] = + + /* NOTE: non-Nokia COMM/ACM/0xff is likely MSFT RNDIS... NOT a modem! */ + ++ /* control interfaces without any protocol set */ ++ { USB_INTERFACE_INFO(USB_CLASS_COMM, USB_CDC_SUBCLASS_ACM, ++ USB_CDC_PROTO_NONE) }, ++ + /* control interfaces with various AT-command sets */ + { USB_INTERFACE_INFO(USB_CLASS_COMM, USB_CDC_SUBCLASS_ACM, + USB_CDC_ACM_PROTO_AT_V25TER) }, diff --git a/queue-2.6.32/usb-cdc-acm-adding-second-acm-channel-support-for-various-nokia-and-one-samsung-phones.patch b/queue-2.6.32/usb-cdc-acm-adding-second-acm-channel-support-for-various-nokia-and-one-samsung-phones.patch new file mode 100644 index 00000000000..f438f98b7d7 --- /dev/null +++ b/queue-2.6.32/usb-cdc-acm-adding-second-acm-channel-support-for-various-nokia-and-one-samsung-phones.patch @@ -0,0 +1,68 @@ +From 4035e45632c2a8bb4edae83c20447051bd9a9604 Mon Sep 17 00:00:00 2001 +From: Toby Gray +Date: Wed, 1 Sep 2010 16:01:19 +0100 +Subject: USB: cdc-acm: Adding second ACM channel support for various Nokia and one Samsung phones + +From: Toby Gray + +commit 4035e45632c2a8bb4edae83c20447051bd9a9604 upstream. + +S60 phones from Nokia and Samsung expose two ACM channels. The first is a modem +with a standard AT-command interface, which is picked up correctly by CDC-ACM. + +The second ACM port is marked as having a vendor-specific protocol. This means +that the ACM driver will not claim the second channel by default. + +This adds support for the second ACM channel for the following devices: + Nokia E63 + Nokia E75 + Nokia 6760 Slide + Nokia E52 + Nokia E55 + Nokia E72 + Nokia X6 + Nokia N97 Mini + Nokia 5800 Xpressmusic + Nokia E90 + Samsung GTi8510 (INNOV8) + +Signed-off-by: Toby Gray +Cc: Oliver Neukum +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/usb/class/cdc-acm.c | 16 ++++++++++++++++ + 1 file changed, 16 insertions(+) + +--- a/drivers/usb/class/cdc-acm.c ++++ b/drivers/usb/class/cdc-acm.c +@@ -1470,6 +1470,11 @@ err_out: + USB_CLASS_COMM, USB_CDC_SUBCLASS_ACM, \ + USB_CDC_ACM_PROTO_VENDOR) + ++#define SAMSUNG_PCSUITE_ACM_INFO(x) \ ++ USB_DEVICE_AND_INTERFACE_INFO(0x04e7, x, \ ++ USB_CLASS_COMM, USB_CDC_SUBCLASS_ACM, \ ++ USB_CDC_ACM_PROTO_VENDOR) ++ + /* + * USB driver structure. + */ +@@ -1580,6 +1585,17 @@ static struct usb_device_id acm_ids[] = + { NOKIA_PCSUITE_ACM_INFO(0x0108), }, /* Nokia 5320 XpressMusic 2G */ + { NOKIA_PCSUITE_ACM_INFO(0x01f5), }, /* Nokia N97, RM-505 */ + { NOKIA_PCSUITE_ACM_INFO(0x02e3), }, /* Nokia 5230, RM-588 */ ++ { NOKIA_PCSUITE_ACM_INFO(0x0178), }, /* Nokia E63 */ ++ { NOKIA_PCSUITE_ACM_INFO(0x010e), }, /* Nokia E75 */ ++ { NOKIA_PCSUITE_ACM_INFO(0x02d9), }, /* Nokia 6760 Slide */ ++ { NOKIA_PCSUITE_ACM_INFO(0x01d0), }, /* Nokia E52 */ ++ { NOKIA_PCSUITE_ACM_INFO(0x0223), }, /* Nokia E72 */ ++ { NOKIA_PCSUITE_ACM_INFO(0x0275), }, /* Nokia X6 */ ++ { NOKIA_PCSUITE_ACM_INFO(0x026c), }, /* Nokia N97 Mini */ ++ { NOKIA_PCSUITE_ACM_INFO(0x0154), }, /* Nokia 5800 XpressMusic */ ++ { NOKIA_PCSUITE_ACM_INFO(0x04ce), }, /* Nokia E90 */ ++ { NOKIA_PCSUITE_ACM_INFO(0x01d4), }, /* Nokia E55 */ ++ { SAMSUNG_PCSUITE_ACM_INFO(0x6651), }, /* Samsung GTi8510 (INNOV8) */ + + /* NOTE: non-Nokia COMM/ACM/0xff is likely MSFT RNDIS... NOT a modem! */ + diff --git a/queue-2.6.32/usb-cdc-acm-fixing-crash-when-acm-probing-interfaces-with-no-endpoint-descriptors.patch b/queue-2.6.32/usb-cdc-acm-fixing-crash-when-acm-probing-interfaces-with-no-endpoint-descriptors.patch new file mode 100644 index 00000000000..fd117068e70 --- /dev/null +++ b/queue-2.6.32/usb-cdc-acm-fixing-crash-when-acm-probing-interfaces-with-no-endpoint-descriptors.patch @@ -0,0 +1,39 @@ +From 577045c0a76e34294f902a7d5d60e90b04d094d0 Mon Sep 17 00:00:00 2001 +From: Toby Gray +Date: Thu, 2 Sep 2010 10:46:20 +0100 +Subject: USB: cdc-acm: Fixing crash when ACM probing interfaces with no endpoint descriptors. + +From: Toby Gray + +commit 577045c0a76e34294f902a7d5d60e90b04d094d0 upstream. + +Certain USB devices, such as the Nokia X6 mobile phone, don't expose any +endpoint descriptors on some of their interfaces. If the ACM driver is forced +to probe all interfaces on a device the a NULL pointer dereference will occur +when the ACM driver attempts to use the endpoint of the alternative settings. +One way to get the ACM driver to probe all the interfaces is by using the +/sys/bus/usb/drivers/cdc_acm/new_id interface. + +This patch checks that the endpoint pointer for the current alternate settings +is non-NULL before using it. + +Signed-off-by: Toby Gray +Cc: Oliver Neukum +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/usb/class/cdc-acm.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +--- a/drivers/usb/class/cdc-acm.c ++++ b/drivers/usb/class/cdc-acm.c +@@ -971,7 +971,8 @@ static int acm_probe(struct usb_interfac + } + + if (!buflen) { +- if (intf->cur_altsetting->endpoint->extralen && ++ if (intf->cur_altsetting->endpoint && ++ intf->cur_altsetting->endpoint->extralen && + intf->cur_altsetting->endpoint->extra) { + dev_dbg(&intf->dev, + "Seeking extra descriptors on endpoint\n"); diff --git a/queue-2.6.32/usb-expose-vendor-specific-acm-channel-on-nokia-5230.patch b/queue-2.6.32/usb-expose-vendor-specific-acm-channel-on-nokia-5230.patch new file mode 100644 index 00000000000..7688308bbd3 --- /dev/null +++ b/queue-2.6.32/usb-expose-vendor-specific-acm-channel-on-nokia-5230.patch @@ -0,0 +1,31 @@ +From 83a4eae9aeed4a69e89e323a105e653ae06e7c1f Mon Sep 17 00:00:00 2001 +From: Przemo Firszt +Date: Mon, 28 Jun 2010 21:29:34 +0100 +Subject: USB: Expose vendor-specific ACM channel on Nokia 5230 + +From: Przemo Firszt + +commit 83a4eae9aeed4a69e89e323a105e653ae06e7c1f upstream. + +Nokia S60 phones expose two ACM channels. The first is +a modem, the second is 'vendor-specific' but is treated +as a serial device at the S60 end, so we want to expose +it on Linux too. + +Signed-off-by: Przemo Firszt +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/usb/class/cdc-acm.c | 1 + + 1 file changed, 1 insertion(+) + +--- a/drivers/usb/class/cdc-acm.c ++++ b/drivers/usb/class/cdc-acm.c +@@ -1579,6 +1579,7 @@ static struct usb_device_id acm_ids[] = + { NOKIA_PCSUITE_ACM_INFO(0x00e9), }, /* Nokia 5320 XpressMusic */ + { NOKIA_PCSUITE_ACM_INFO(0x0108), }, /* Nokia 5320 XpressMusic 2G */ + { NOKIA_PCSUITE_ACM_INFO(0x01f5), }, /* Nokia N97, RM-505 */ ++ { NOKIA_PCSUITE_ACM_INFO(0x02e3), }, /* Nokia 5230, RM-588 */ + + /* NOTE: non-Nokia COMM/ACM/0xff is likely MSFT RNDIS... NOT a modem! */ + diff --git a/queue-2.6.32/usb-exposing-second-acm-channel-as-tty-for-nokia-s60-phones.patch b/queue-2.6.32/usb-exposing-second-acm-channel-as-tty-for-nokia-s60-phones.patch new file mode 100644 index 00000000000..e668a85101c --- /dev/null +++ b/queue-2.6.32/usb-exposing-second-acm-channel-as-tty-for-nokia-s60-phones.patch @@ -0,0 +1,143 @@ +From c1479a92cf0a7792298d364e44a781550621cb58 Mon Sep 17 00:00:00 2001 +From: Adrian Taylor +Date: Thu, 19 Nov 2009 10:35:33 +0000 +Subject: USB: Exposing second ACM channel as tty for Nokia S60 phones. + +From: Adrian Taylor + +commit c1479a92cf0a7792298d364e44a781550621cb58 upstream. + +Nokia S60 phones expose two ACM channels. The first is a modem and is picked +up by the standard AT-command interface information in the CDC-ACM driver. The +second is marked as having a vendor-specific protocol. Normally, we don't +expose those as ttys. (On some other devices, they may be claimed by the +rndis_host driver and used as a network interface). + +But on S60 this second ACM channel is the way that third-party S60 application +developers are expected to communicate over USB. It acts as a serial device +at the S60 end, and so it should on Linux too. + +The list of devices is largely derived from: +http://wiki.forum.nokia.com/index.php/S60_Platform_and_device_identification_codes +http://wiki.forum.nokia.com/index.php/Nokia_USB_Product_IDs +and includes only the S60 3rd Edition+ devices documented there. + +There are many devices for which the USB device ID is not documented, +including: + Nokia 6290 + Nokia E63 + Nokia 5630 XpressMusic + Nokia 5730 XpressMusic + Nokia 6710 Navigator + Nokia 6720 classic + Nokia 6730 Classic + Nokia 6760 slide + Nokia 6790 slide + Nokia 6790 Surge + Nokia E52 + Nokia E55 + Nokia E71x (AT&T) + Nokia E72 + Nokia E75 + Nokia E75 US+LTA variant + Nokia N79 + Nokia N86 8MP + Nokia 5230 (RM-588) + Nokia 5230 (RM-594) + Nokia 5530 XpressMusic + Nokia 5530 XpressMusic (china) + Nokia 5800 XM + Nokia N97 (RM-506) + Nokia N97 mini + Nokia X6 +It would be good to add those subsequently. + +Signed-off-by: Adrian Taylor +Acked-by: Oliver Neukum +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/usb/class/cdc-acm.c | 58 +++++++++++++++++++++++++++++++++++++++++++- + 1 file changed, 57 insertions(+), 1 deletion(-) + +--- a/drivers/usb/class/cdc-acm.c ++++ b/drivers/usb/class/cdc-acm.c +@@ -1464,6 +1464,12 @@ err_out: + } + + #endif /* CONFIG_PM */ ++ ++#define NOKIA_PCSUITE_ACM_INFO(x) \ ++ USB_DEVICE_AND_INTERFACE_INFO(0x0421, x, \ ++ USB_CLASS_COMM, USB_CDC_SUBCLASS_ACM, \ ++ USB_CDC_ACM_PROTO_VENDOR) ++ + /* + * USB driver structure. + */ +@@ -1522,6 +1528,57 @@ static struct usb_device_id acm_ids[] = + .driver_info = NO_UNION_NORMAL, /* reports zero length descriptor */ + }, + ++ /* Nokia S60 phones expose two ACM channels. The first is ++ * a modem and is picked up by the standard AT-command ++ * information below. The second is 'vendor-specific' but ++ * is treated as a serial device at the S60 end, so we want ++ * to expose it on Linux too. */ ++ { NOKIA_PCSUITE_ACM_INFO(0x042D), }, /* Nokia 3250 */ ++ { NOKIA_PCSUITE_ACM_INFO(0x04D8), }, /* Nokia 5500 Sport */ ++ { NOKIA_PCSUITE_ACM_INFO(0x04C9), }, /* Nokia E50 */ ++ { NOKIA_PCSUITE_ACM_INFO(0x0419), }, /* Nokia E60 */ ++ { NOKIA_PCSUITE_ACM_INFO(0x044D), }, /* Nokia E61 */ ++ { NOKIA_PCSUITE_ACM_INFO(0x0001), }, /* Nokia E61i */ ++ { NOKIA_PCSUITE_ACM_INFO(0x0475), }, /* Nokia E62 */ ++ { NOKIA_PCSUITE_ACM_INFO(0x0508), }, /* Nokia E65 */ ++ { NOKIA_PCSUITE_ACM_INFO(0x0418), }, /* Nokia E70 */ ++ { NOKIA_PCSUITE_ACM_INFO(0x0425), }, /* Nokia N71 */ ++ { NOKIA_PCSUITE_ACM_INFO(0x0486), }, /* Nokia N73 */ ++ { NOKIA_PCSUITE_ACM_INFO(0x04DF), }, /* Nokia N75 */ ++ { NOKIA_PCSUITE_ACM_INFO(0x000e), }, /* Nokia N77 */ ++ { NOKIA_PCSUITE_ACM_INFO(0x0445), }, /* Nokia N80 */ ++ { NOKIA_PCSUITE_ACM_INFO(0x042F), }, /* Nokia N91 & N91 8GB */ ++ { NOKIA_PCSUITE_ACM_INFO(0x048E), }, /* Nokia N92 */ ++ { NOKIA_PCSUITE_ACM_INFO(0x0420), }, /* Nokia N93 */ ++ { NOKIA_PCSUITE_ACM_INFO(0x04E6), }, /* Nokia N93i */ ++ { NOKIA_PCSUITE_ACM_INFO(0x04B2), }, /* Nokia 5700 XpressMusic */ ++ { NOKIA_PCSUITE_ACM_INFO(0x0134), }, /* Nokia 6110 Navigator (China) */ ++ { NOKIA_PCSUITE_ACM_INFO(0x046E), }, /* Nokia 6110 Navigator */ ++ { NOKIA_PCSUITE_ACM_INFO(0x002f), }, /* Nokia 6120 classic & */ ++ { NOKIA_PCSUITE_ACM_INFO(0x0088), }, /* Nokia 6121 classic */ ++ { NOKIA_PCSUITE_ACM_INFO(0x00fc), }, /* Nokia 6124 classic */ ++ { NOKIA_PCSUITE_ACM_INFO(0x0042), }, /* Nokia E51 */ ++ { NOKIA_PCSUITE_ACM_INFO(0x00b0), }, /* Nokia E66 */ ++ { NOKIA_PCSUITE_ACM_INFO(0x00ab), }, /* Nokia E71 */ ++ { NOKIA_PCSUITE_ACM_INFO(0x0481), }, /* Nokia N76 */ ++ { NOKIA_PCSUITE_ACM_INFO(0x0007), }, /* Nokia N81 & N81 8GB */ ++ { NOKIA_PCSUITE_ACM_INFO(0x0071), }, /* Nokia N82 */ ++ { NOKIA_PCSUITE_ACM_INFO(0x04F0), }, /* Nokia N95 & N95-3 NAM */ ++ { NOKIA_PCSUITE_ACM_INFO(0x0070), }, /* Nokia N95 8GB */ ++ { NOKIA_PCSUITE_ACM_INFO(0x00e9), }, /* Nokia 5320 XpressMusic */ ++ { NOKIA_PCSUITE_ACM_INFO(0x0099), }, /* Nokia 6210 Navigator, RM-367 */ ++ { NOKIA_PCSUITE_ACM_INFO(0x0128), }, /* Nokia 6210 Navigator, RM-419 */ ++ { NOKIA_PCSUITE_ACM_INFO(0x008f), }, /* Nokia 6220 Classic */ ++ { NOKIA_PCSUITE_ACM_INFO(0x00a0), }, /* Nokia 6650 */ ++ { NOKIA_PCSUITE_ACM_INFO(0x007b), }, /* Nokia N78 */ ++ { NOKIA_PCSUITE_ACM_INFO(0x0094), }, /* Nokia N85 */ ++ { NOKIA_PCSUITE_ACM_INFO(0x003a), }, /* Nokia N96 & N96-3 */ ++ { NOKIA_PCSUITE_ACM_INFO(0x00e9), }, /* Nokia 5320 XpressMusic */ ++ { NOKIA_PCSUITE_ACM_INFO(0x0108), }, /* Nokia 5320 XpressMusic 2G */ ++ { NOKIA_PCSUITE_ACM_INFO(0x01f5), }, /* Nokia N97, RM-505 */ ++ ++ /* NOTE: non-Nokia COMM/ACM/0xff is likely MSFT RNDIS... NOT a modem! */ ++ + /* control interfaces with various AT-command sets */ + { USB_INTERFACE_INFO(USB_CLASS_COMM, USB_CDC_SUBCLASS_ACM, + USB_CDC_ACM_PROTO_AT_V25TER) }, +@@ -1536,7 +1593,6 @@ static struct usb_device_id acm_ids[] = + { USB_INTERFACE_INFO(USB_CLASS_COMM, USB_CDC_SUBCLASS_ACM, + USB_CDC_ACM_PROTO_AT_CDMA) }, + +- /* NOTE: COMM/ACM/0xff is likely MSFT RNDIS ... NOT a modem!! */ + { } + }; +