]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
.32 patches
authorGreg Kroah-Hartman <gregkh@suse.de>
Wed, 15 Sep 2010 20:45:27 +0000 (13:45 -0700)
committerGreg Kroah-Hartman <gregkh@suse.de>
Wed, 15 Sep 2010 20:45:27 +0000 (13:45 -0700)
queue-2.6.32/alsa-hda-fix-auto-parser-of-alc269vb-for-hp-pin-nid-0x21.patch [new file with mode: 0644]
queue-2.6.32/alsa-seq-oss-fix-double-free-at-error-path-of-snd_seq_oss_open.patch [new file with mode: 0644]
queue-2.6.32/series
queue-2.6.32/usb-cdc-acm-add-another-device-quirk.patch [new file with mode: 0644]
queue-2.6.32/usb-cdc-acm-add-pseudo-modem-without-at-command-capabilities.patch [new file with mode: 0644]
queue-2.6.32/usb-cdc-acm-adding-second-acm-channel-support-for-various-nokia-and-one-samsung-phones.patch [new file with mode: 0644]
queue-2.6.32/usb-cdc-acm-fixing-crash-when-acm-probing-interfaces-with-no-endpoint-descriptors.patch [new file with mode: 0644]
queue-2.6.32/usb-expose-vendor-specific-acm-channel-on-nokia-5230.patch [new file with mode: 0644]
queue-2.6.32/usb-exposing-second-acm-channel-as-tty-for-nokia-s60-phones.patch [new file with mode: 0644]

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 (file)
index 0000000..947e2db
--- /dev/null
@@ -0,0 +1,31 @@
+From 531d8791accf1464bc6854ff69d08dd866189d17 Mon Sep 17 00:00:00 2001
+From: Kailang Yang <kailang@realtek.com>
+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 <kailang@realtek.com>
+
+commit 531d8791accf1464bc6854ff69d08dd866189d17 upstream.
+
+ALC269vb has an alternative HP pin 0x21 in addition.
+Fix the parser to recognize it.
+
+Signed-off-by: Kailang Yang <kailang@realtek.com>
+Signed-off-by: Takashi Iwai <tiwai@suse.de>
+Cc: David Henningsson <david.henningsson@canonical.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ 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 (file)
index 0000000..6716f86
--- /dev/null
@@ -0,0 +1,56 @@
+From 27f7ad53829f79e799a253285318bff79ece15bd Mon Sep 17 00:00:00 2001
+From: Takashi Iwai <tiwai@suse.de>
+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 <tiwai@suse.de>
+
+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 <taviso@cmpxchg8b.com>
+Signed-off-by: Takashi Iwai <tiwai@suse.de>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ 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);
index 8398a756ec19395b8b57f8467d0adedde657abd3..2985ef8ec91e1c0bb211e63346ef9c8680462d6c 100644 (file)
@@ -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 (file)
index 0000000..73ae517
--- /dev/null
@@ -0,0 +1,30 @@
+From c3baa19b0a9b711b02cec81d9fea33b7b9628957 Mon Sep 17 00:00:00 2001
+From: Russ Nelson <nelson@crynwr.com>
+Date: Wed, 21 Apr 2010 23:07:03 -0400
+Subject: USB: cdc-acm: add another device quirk
+
+From: Russ Nelson <nelson@crynwr.com>
+
+commit c3baa19b0a9b711b02cec81d9fea33b7b9628957 upstream.
+
+The Maretron USB100 needs this quirk in order to work properly.
+
+Signed-off-by: Russ Nelson <nelson@crynwr.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ 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 (file)
index 0000000..3b2e5af
--- /dev/null
@@ -0,0 +1,36 @@
+From 5b239f0aebd4dd6f85b13decf5e18e86e35d57f0 Mon Sep 17 00:00:00 2001
+From: Philippe Corbes <philippe.corbes@gmail.com>
+Date: Tue, 31 Aug 2010 19:31:32 +0200
+Subject: USB: cdc-acm: Add pseudo modem without AT command capabilities
+
+From: Philippe Corbes <philippe.corbes@gmail.com>
+
+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 <philippe.corbes@gmail.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ 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 (file)
index 0000000..f438f98
--- /dev/null
@@ -0,0 +1,68 @@
+From 4035e45632c2a8bb4edae83c20447051bd9a9604 Mon Sep 17 00:00:00 2001
+From: Toby Gray <toby.gray@realvnc.com>
+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 <toby.gray@realvnc.com>
+
+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 <toby.gray@realvnc.com>
+Cc: Oliver Neukum <oliver@neukum.name>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ 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 (file)
index 0000000..fd11706
--- /dev/null
@@ -0,0 +1,39 @@
+From 577045c0a76e34294f902a7d5d60e90b04d094d0 Mon Sep 17 00:00:00 2001
+From: Toby Gray <toby.gray@realvnc.com>
+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 <toby.gray@realvnc.com>
+
+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 <toby.gray@realvnc.com>
+Cc: Oliver Neukum <oliver@neukum.name>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ 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 (file)
index 0000000..7688308
--- /dev/null
@@ -0,0 +1,31 @@
+From 83a4eae9aeed4a69e89e323a105e653ae06e7c1f Mon Sep 17 00:00:00 2001
+From: Przemo Firszt <przemo@firszt.eu>
+Date: Mon, 28 Jun 2010 21:29:34 +0100
+Subject: USB: Expose vendor-specific ACM channel on Nokia 5230
+
+From: Przemo Firszt <przemo@firszt.eu>
+
+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 <przemo@firszt.eu>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ 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 (file)
index 0000000..e668a85
--- /dev/null
@@ -0,0 +1,143 @@
+From c1479a92cf0a7792298d364e44a781550621cb58 Mon Sep 17 00:00:00 2001
+From: Adrian Taylor <aat@realvnc.com>
+Date: Thu, 19 Nov 2009 10:35:33 +0000
+Subject: USB: Exposing second ACM channel as tty for Nokia S60 phones.
+
+From: Adrian Taylor <aat@realvnc.com>
+
+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 <aat@realvnc.com>
+Acked-by: Oliver Neukum <oliver@neukum.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ 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!! */
+       { }
+ };