diff options
author | Greg Kroah-Hartman <gregkh@suse.de> | 2006-05-01 22:35:35 -0700 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2006-05-01 22:35:35 -0700 |
commit | 0122ac03f9cea48e9120a796d1a315bd833adc7e (patch) | |
tree | 92e3582a1ecb13a40eb08e1acf338dc40eb08ff1 /usb | |
parent | 2cdd2bd9854b9b39cc785426f77e7e71622a9a16 (diff) | |
download | patches-0122ac03f9cea48e9120a796d1a315bd833adc7e.tar.gz |
usb patches added
Diffstat (limited to 'usb')
-rw-r--r-- | usb/usb-clean-out-an-unnecessary-null-check-from-ub.patch | 2 | ||||
-rw-r--r-- | usb/usb-console-fix-disconnection-issues.patch | 145 | ||||
-rw-r--r-- | usb/usb-fix-bug-in-ohci-hcd.c-ohci_restart.patch | 31 | ||||
-rw-r--r-- | usb/usb-pegasus-fixes.patch | 113 | ||||
-rw-r--r-- | usb/usb-serial-dynamic-id.patch | 8 | ||||
-rw-r--r-- | usb/usbatm-change-the-default-speedtouch-iso-altsetting.patch | 34 | ||||
-rw-r--r-- | usb/usbatm-fix-modinfo-output.patch | 47 | ||||
-rw-r--r-- | usb/usbatm-remove-no-longer-needed-include.patch | 29 | ||||
-rw-r--r-- | usb/usbatm-remove-pointless-inline.patch | 29 |
9 files changed, 433 insertions, 5 deletions
diff --git a/usb/usb-clean-out-an-unnecessary-null-check-from-ub.patch b/usb/usb-clean-out-an-unnecessary-null-check-from-ub.patch index 059bf6df4ceeb7..2b01544d264415 100644 --- a/usb/usb-clean-out-an-unnecessary-null-check-from-ub.patch +++ b/usb/usb-clean-out-an-unnecessary-null-check-from-ub.patch @@ -17,7 +17,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> --- gregkh-2.6.orig/drivers/block/ub.c +++ gregkh-2.6/drivers/block/ub.c -@@ -1646,15 +1646,11 @@ static void ub_revalidate(struct ub_dev +@@ -1648,15 +1648,11 @@ static void ub_revalidate(struct ub_dev static int ub_bd_open(struct inode *inode, struct file *filp) { struct gendisk *disk = inode->i_bdev->bd_disk; diff --git a/usb/usb-console-fix-disconnection-issues.patch b/usb/usb-console-fix-disconnection-issues.patch new file mode 100644 index 00000000000000..55fc79b559eb07 --- /dev/null +++ b/usb/usb-console-fix-disconnection-issues.patch @@ -0,0 +1,145 @@ +From g.liakhovetski@gmx.de Mon Apr 24 22:46:27 2006 +Date: Tue, 25 Apr 2006 07:46:17 +0200 (CEST) +From: Guennadi Liakhovetski <g.liakhovetski@gmx.de> +To: Greg KH <greg@kroah.com> +cc: Paul Fulghum <paulkf@microgate.com> +Subject: USB console: fix disconnection issues +Message-ID: <Pine.LNX.4.60.0604250744480.3932@poirot.grange> + +Prevent sending further output to a USB-serial console after the dongle is +disconnected, take care not to leak kref. + +Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> +Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> + +--- + drivers/usb/serial/console.c | 17 +++++++++++++++-- + drivers/usb/serial/usb-serial.c | 16 +++++++++++----- + drivers/usb/serial/usb-serial.h | 3 +++ + 3 files changed, 29 insertions(+), 7 deletions(-) + +--- gregkh-2.6.orig/drivers/usb/serial/console.c ++++ gregkh-2.6/drivers/usb/serial/console.c +@@ -202,7 +202,7 @@ static void usb_console_write(struct con + struct usb_serial *serial; + int retval = -ENODEV; + +- if (!port) ++ if (!port || port->serial->dev->state == USB_STATE_NOTATTACHED) + return; + serial = port->serial; + +@@ -255,6 +255,14 @@ static struct console usbcons = { + .index = -1, + }; + ++void usb_serial_console_disconnect(struct usb_serial *serial) ++{ ++ if (serial && serial->port && serial->port[0] && serial->port[0] == usbcons_info.port) { ++ usb_serial_console_exit(); ++ usb_serial_put(serial); ++ } ++} ++ + void usb_serial_console_init (int serial_debug, int minor) + { + debug = serial_debug; +@@ -280,6 +288,11 @@ void usb_serial_console_init (int serial + + void usb_serial_console_exit (void) + { +- unregister_console(&usbcons); ++ if (usbcons_info.port) { ++ unregister_console(&usbcons); ++ if (usbcons_info.port->open_count) ++ usbcons_info.port->open_count--; ++ usbcons_info.port = NULL; ++ } + } + +--- gregkh-2.6.orig/drivers/usb/serial/usb-serial.c ++++ gregkh-2.6/drivers/usb/serial/usb-serial.c +@@ -168,6 +168,11 @@ static void destroy_serial(struct kref * + kfree (serial); + } + ++void usb_serial_put(struct usb_serial *serial) ++{ ++ kref_put(&serial->kref, destroy_serial); ++} ++ + /***************************************************************************** + * Driver tty interface functions + *****************************************************************************/ +@@ -225,7 +230,7 @@ static int serial_open (struct tty_struc + bailout_module_put: + module_put(serial->type->driver.owner); + bailout_kref_put: +- kref_put(&serial->kref, destroy_serial); ++ usb_serial_put(serial); + port->open_count = 0; + mutex_unlock(&port->mutex); + return retval; +@@ -263,7 +268,7 @@ static void serial_close(struct tty_stru + } + + mutex_unlock(&port->mutex); +- kref_put(&port->serial->kref, destroy_serial); ++ usb_serial_put(port->serial); + } + + static int serial_write (struct tty_struct * tty, const unsigned char *buf, int count) +@@ -271,7 +276,7 @@ static int serial_write (struct tty_stru + struct usb_serial_port *port = tty->driver_data; + int retval = -EINVAL; + +- if (!port) ++ if (!port || port->serial->dev->state == USB_STATE_NOTATTACHED) + goto exit; + + dbg("%s - port %d, %d byte(s)", __FUNCTION__, port->number, count); +@@ -468,7 +473,7 @@ static int serial_read_proc (char *page, + begin += length; + length = 0; + } +- kref_put(&serial->kref, destroy_serial); ++ usb_serial_put(serial); + } + *eof = 1; + done: +@@ -980,6 +985,7 @@ void usb_serial_disconnect(struct usb_in + struct device *dev = &interface->dev; + struct usb_serial_port *port; + ++ usb_serial_console_disconnect(serial); + dbg ("%s", __FUNCTION__); + + usb_set_intfdata (interface, NULL); +@@ -991,7 +997,7 @@ void usb_serial_disconnect(struct usb_in + } + /* let the last holder of this object + * cause it to be cleaned up */ +- kref_put(&serial->kref, destroy_serial); ++ usb_serial_put(serial); + } + dev_info(dev, "device disconnected\n"); + } +--- gregkh-2.6.orig/drivers/usb/serial/usb-serial.h ++++ gregkh-2.6/drivers/usb/serial/usb-serial.h +@@ -248,13 +248,16 @@ extern int ezusb_set_reset (struct usb_s + #ifdef CONFIG_USB_SERIAL_CONSOLE + extern void usb_serial_console_init (int debug, int minor); + extern void usb_serial_console_exit (void); ++extern void usb_serial_console_disconnect(struct usb_serial *serial); + #else + static inline void usb_serial_console_init (int debug, int minor) { } + static inline void usb_serial_console_exit (void) { } ++static inline void usb_serial_console_disconnect(struct usb_serial *serial) {} + #endif + + /* Functions needed by other parts of the usbserial core */ + extern struct usb_serial *usb_serial_get_by_index (unsigned int minor); ++extern void usb_serial_put(struct usb_serial *serial); + extern int usb_serial_generic_open (struct usb_serial_port *port, struct file *filp); + extern int usb_serial_generic_write (struct usb_serial_port *port, const unsigned char *buf, int count); + extern void usb_serial_generic_close (struct usb_serial_port *port, struct file *filp); diff --git a/usb/usb-fix-bug-in-ohci-hcd.c-ohci_restart.patch b/usb/usb-fix-bug-in-ohci-hcd.c-ohci_restart.patch new file mode 100644 index 00000000000000..a2b8af371bf87e --- /dev/null +++ b/usb/usb-fix-bug-in-ohci-hcd.c-ohci_restart.patch @@ -0,0 +1,31 @@ +From david-b@pacbell.net Wed Apr 26 15:02:08 2006 +From: David Brownell <david-b@pacbell.net> +To: Greg KH <greg@kroah.com> +Subject: USB: fix bug in ohci-hcd.c ohci_restart() +Date: Wed, 26 Apr 2006 14:39:11 -0700 +Cc: Andreas Mohr <andi@rhlx01.fht-esslingen.de> +Message-Id: <200604261439.11444.david-b@pacbell.net> + + +A loop on a power-lost resume path used the wrong index. +I suspect khubd has been working around such bugs. +Noticed by Andreas Mohr <andi@rhlx01.fht-esslingen.de>. + +Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> +Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> + +--- + drivers/usb/host/ohci-hcd.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- gregkh-2.6.orig/drivers/usb/host/ohci-hcd.c ++++ gregkh-2.6/drivers/usb/host/ohci-hcd.c +@@ -863,7 +863,7 @@ static int ohci_restart (struct ohci_hcd + i = ohci->num_ports; + while (i--) + ohci_writel (ohci, RH_PS_PSS, +- &ohci->regs->roothub.portstatus [temp]); ++ &ohci->regs->roothub.portstatus [i]); + ohci_dbg (ohci, "restart complete\n"); + } + return 0; diff --git a/usb/usb-pegasus-fixes.patch b/usb/usb-pegasus-fixes.patch new file mode 100644 index 00000000000000..cfffde2f57aca4 --- /dev/null +++ b/usb/usb-pegasus-fixes.patch @@ -0,0 +1,113 @@ +From david-b@pacbell.net Mon May 1 14:05:11 2006 +From: David Brownell <david-b@pacbell.net> +To: Greg KH <greg@kroah.com> +Subject: USB: pegasus fixes (logstorm, suspend) +Date: Mon, 1 May 2006 14:02:45 -0700 +Cc: linux-usb-devel@lists.sourceforge.net +Message-Id: <200605011402.45618.david-b@pacbell.net> + +Teach "pegasus" to handle a few of the disconnect fault paths +without hundreds of usless syslog messages. + +Handle the carrier check workqueue entry even if the driver has +not been opened. + +Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> +Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> + +--- + drivers/usb/net/pegasus.c | 20 +++++++++++++++----- + 1 file changed, 15 insertions(+), 5 deletions(-) + +--- gregkh-2.6.orig/drivers/usb/net/pegasus.c ++++ gregkh-2.6/drivers/usb/net/pegasus.c +@@ -318,6 +318,8 @@ static int read_mii_word(pegasus_t * peg + set_register(pegasus, PhyCtrl, (indx | PHY_READ)); + for (i = 0; i < REG_TIMEOUT; i++) { + ret = get_registers(pegasus, PhyCtrl, 1, data); ++ if (ret == -ESHUTDOWN) ++ goto fail; + if (data[0] & PHY_DONE) + break; + } +@@ -326,6 +328,7 @@ static int read_mii_word(pegasus_t * peg + *regd = le16_to_cpu(regdi); + return ret; + } ++fail: + if (netif_msg_drv(pegasus)) + dev_warn(&pegasus->intf->dev, "fail %s\n", __FUNCTION__); + +@@ -354,12 +357,15 @@ static int write_mii_word(pegasus_t * pe + set_register(pegasus, PhyCtrl, (indx | PHY_WRITE)); + for (i = 0; i < REG_TIMEOUT; i++) { + ret = get_registers(pegasus, PhyCtrl, 1, data); ++ if (ret == -ESHUTDOWN) ++ goto fail; + if (data[0] & PHY_DONE) + break; + } + if (i < REG_TIMEOUT) + return ret; + ++fail: + if (netif_msg_drv(pegasus)) + dev_warn(&pegasus->intf->dev, "fail %s\n", __FUNCTION__); + return -ETIMEDOUT; +@@ -387,6 +393,8 @@ static int read_eprom_word(pegasus_t * p + ret = get_registers(pegasus, EpromCtrl, 1, &tmp); + if (tmp & EPROM_DONE) + break; ++ if (ret == -ESHUTDOWN) ++ goto fail; + } + if (i < REG_TIMEOUT) { + ret = get_registers(pegasus, EpromData, 2, &retdatai); +@@ -394,6 +402,7 @@ static int read_eprom_word(pegasus_t * p + return ret; + } + ++fail: + if (netif_msg_drv(pegasus)) + dev_warn(&pegasus->intf->dev, "fail %s\n", __FUNCTION__); + return -ETIMEDOUT; +@@ -433,12 +442,15 @@ static int write_eprom_word(pegasus_t * + + for (i = 0; i < REG_TIMEOUT; i++) { + ret = get_registers(pegasus, EpromCtrl, 1, &tmp); ++ if (ret == -ESHUTDOWN) ++ goto fail; + if (tmp & EPROM_DONE) + break; + } + disable_eprom_write(pegasus); + if (i < REG_TIMEOUT) + return ret; ++fail: + if (netif_msg_drv(pegasus)) + dev_warn(&pegasus->intf->dev, "fail %s\n", __FUNCTION__); + return -ETIMEDOUT; +@@ -1378,9 +1390,8 @@ static int pegasus_suspend (struct usb_i + struct pegasus *pegasus = usb_get_intfdata(intf); + + netif_device_detach (pegasus->net); ++ cancel_delayed_work(&pegasus->carrier_check); + if (netif_running(pegasus->net)) { +- cancel_delayed_work(&pegasus->carrier_check); +- + usb_kill_urb(pegasus->rx_urb); + usb_kill_urb(pegasus->intr_urb); + } +@@ -1400,10 +1411,9 @@ static int pegasus_resume (struct usb_in + pegasus->intr_urb->status = 0; + pegasus->intr_urb->actual_length = 0; + intr_callback(pegasus->intr_urb, NULL); +- +- queue_delayed_work(pegasus_workqueue, &pegasus->carrier_check, +- CARRIER_CHECK_DELAY); + } ++ queue_delayed_work(pegasus_workqueue, &pegasus->carrier_check, ++ CARRIER_CHECK_DELAY); + return 0; + } + diff --git a/usb/usb-serial-dynamic-id.patch b/usb/usb-serial-dynamic-id.patch index 879186b0076cc9..37a9a2ef35e994 100644 --- a/usb/usb-serial-dynamic-id.patch +++ b/usb/usb-serial-dynamic-id.patch @@ -201,7 +201,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> .name = "usbserial", .probe = usb_serial_probe, .disconnect = usb_serial_disconnect, -@@ -577,6 +577,39 @@ static struct usb_serial * create_serial +@@ -582,6 +582,39 @@ static struct usb_serial * create_serial return serial; } @@ -241,7 +241,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> static struct usb_serial_driver *search_serial_device(struct usb_interface *iface) { struct list_head *p; -@@ -586,11 +619,9 @@ static struct usb_serial_driver *search_ +@@ -591,11 +624,9 @@ static struct usb_serial_driver *search_ /* Check if the usb id matches a known device */ list_for_each(p, &usb_serial_driver_list) { t = list_entry(p, struct usb_serial_driver, driver_list); @@ -255,7 +255,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> } return NULL; -@@ -642,7 +673,7 @@ int usb_serial_probe(struct usb_interfac +@@ -647,7 +678,7 @@ int usb_serial_probe(struct usb_interfac return -EIO; } @@ -274,7 +274,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> int (*probe) (struct usb_serial *serial, const struct usb_device_id *id); int (*attach) (struct usb_serial *serial); -@@ -270,6 +271,7 @@ extern int usb_serial_bus_register (stru +@@ -273,6 +274,7 @@ extern int usb_serial_bus_register (stru extern void usb_serial_bus_deregister (struct usb_serial_driver *device); extern struct usb_serial_driver usb_serial_generic_device; diff --git a/usb/usbatm-change-the-default-speedtouch-iso-altsetting.patch b/usb/usbatm-change-the-default-speedtouch-iso-altsetting.patch new file mode 100644 index 00000000000000..cbc3bbc054f9f7 --- /dev/null +++ b/usb/usbatm-change-the-default-speedtouch-iso-altsetting.patch @@ -0,0 +1,34 @@ +From duncan.sands@math.u-psud.fr Fri Apr 28 09:44:22 2006 +From: Duncan Sands <duncan.sands@math.u-psud.fr> +To: Greg KH <greg@kroah.com> +Subject: USBATM: change the default speedtouch iso altsetting +Date: Fri, 28 Apr 2006 18:44:06 +0200 +Cc: linux-usb-devel@lists.sourceforge.net +Content-Disposition: inline +Message-Id: <200604281844.06681.duncan.sands@math.u-psud.fr> + +The maximum possible bandwidth for a speedtouch modem is about 7Mbaud. +You can only get this by using isochronous urbs (enable_isoc=1) and +altsetting 3. With the current default altsetting of 2, the modem +maxes out at about 4Mbaud. So change the default altsetting to 3 +when using isochronous urbs. It would be nice to base the altsetting +on the detected line speed, but that's hard given the current design. + +Signed-off-by: Duncan Sands <baldrick@free.fr> +Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> + +--- + drivers/usb/atm/speedtch.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- gregkh-2.6.orig/drivers/usb/atm/speedtch.c ++++ gregkh-2.6/drivers/usb/atm/speedtch.c +@@ -69,7 +69,7 @@ static const char speedtch_driver_name[] + #define RESUBMIT_DELAY 1000 /* milliseconds */ + + #define DEFAULT_BULK_ALTSETTING 1 +-#define DEFAULT_ISOC_ALTSETTING 2 ++#define DEFAULT_ISOC_ALTSETTING 3 + #define DEFAULT_DL_512_FIRST 0 + #define DEFAULT_ENABLE_ISOC 0 + #define DEFAULT_SW_BUFFERING 0 diff --git a/usb/usbatm-fix-modinfo-output.patch b/usb/usbatm-fix-modinfo-output.patch new file mode 100644 index 00000000000000..72a954cf208b9e --- /dev/null +++ b/usb/usbatm-fix-modinfo-output.patch @@ -0,0 +1,47 @@ +From duncan.sands@math.u-psud.fr Fri Apr 28 09:52:25 2006 +From: Duncan Sands <duncan.sands@math.u-psud.fr> +To: Greg KH <greg@kroah.com> +Subject: USBATM: fix modinfo output +Cc: linux-usb-devel@lists.sourceforge.net +Content-Disposition: inline +Date: Fri, 28 Apr 2006 18:52:16 +0200 +Message-Id: <200604281852.17214.duncan.sands@math.u-psud.fr> + +Because of the way stringify works, using an expression +like 64 * 1024 for UDSL_MAX_BUF_SIZE results in 64 * 1024 +turning up in the modinfo output instead of 65536. So use +65536 directly (this was the only way I found of fixing this). + +Signed-off-by: Duncan Sands <baldrick@free.fr> +Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> + +--- + drivers/usb/atm/usbatm.c | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +--- gregkh-2.6.orig/drivers/usb/atm/usbatm.c ++++ gregkh-2.6/drivers/usb/atm/usbatm.c +@@ -99,11 +99,11 @@ static const char usbatm_driver_name[] = + + #define UDSL_MAX_RCV_URBS 16 + #define UDSL_MAX_SND_URBS 16 +-#define UDSL_MAX_BUF_SIZE 64 * 1024 /* bytes */ ++#define UDSL_MAX_BUF_SIZE 65536 + #define UDSL_DEFAULT_RCV_URBS 4 + #define UDSL_DEFAULT_SND_URBS 4 +-#define UDSL_DEFAULT_RCV_BUF_SIZE 64 * ATM_CELL_SIZE /* bytes */ +-#define UDSL_DEFAULT_SND_BUF_SIZE 64 * ATM_CELL_SIZE /* bytes */ ++#define UDSL_DEFAULT_RCV_BUF_SIZE 3392 /* 64 * ATM_CELL_SIZE */ ++#define UDSL_DEFAULT_SND_BUF_SIZE 3392 /* 64 * ATM_CELL_SIZE */ + + #define ATM_CELL_HEADER (ATM_CELL_SIZE - ATM_CELL_PAYLOAD) + +@@ -135,7 +135,7 @@ MODULE_PARM_DESC(rcv_buf_bytes, + module_param(snd_buf_bytes, uint, S_IRUGO); + MODULE_PARM_DESC(snd_buf_bytes, + "Size of the buffers used for transmission, in bytes (range: 1-" +- __MODULE_STRING(UDSL_MAX_SND_BUF_SIZE) ", default: " ++ __MODULE_STRING(UDSL_MAX_BUF_SIZE) ", default: " + __MODULE_STRING(UDSL_DEFAULT_SND_BUF_SIZE) ")"); + + diff --git a/usb/usbatm-remove-no-longer-needed-include.patch b/usb/usbatm-remove-no-longer-needed-include.patch new file mode 100644 index 00000000000000..eaf5cb91e277ee --- /dev/null +++ b/usb/usbatm-remove-no-longer-needed-include.patch @@ -0,0 +1,29 @@ +From duncan.sands@math.u-psud.fr Fri Apr 28 09:59:04 2006 +From: Duncan Sands <duncan.sands@math.u-psud.fr> +To: Greg KH <greg@kroah.com> +Subject: USBATM: remove no-longer needed #include +Cc: linux-usb-devel@lists.sourceforge.net +Content-Disposition: inline +Date: Fri, 28 Apr 2006 18:58:57 +0200 +Message-Id: <200604281858.57636.duncan.sands@math.u-psud.fr> + +We #include <linux/netdevice.h> only because <linux/etherdevice.h> +needed it, but didn't #include it itself. But that's been fixed now. + +Signed-off-by: Duncan Sands <baldrick@free.fr> +Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> + +--- + drivers/usb/atm/xusbatm.c | 1 - + 1 file changed, 1 deletion(-) + +--- gregkh-2.6.orig/drivers/usb/atm/xusbatm.c ++++ gregkh-2.6/drivers/usb/atm/xusbatm.c +@@ -20,7 +20,6 @@ + ******************************************************************************/ + + #include <linux/module.h> +-#include <linux/netdevice.h> /* FIXME: required by linux/etherdevice.h */ + #include <linux/etherdevice.h> /* for random_ether_addr() */ + + #include "usbatm.h" diff --git a/usb/usbatm-remove-pointless-inline.patch b/usb/usbatm-remove-pointless-inline.patch new file mode 100644 index 00000000000000..2b7b2b9987f612 --- /dev/null +++ b/usb/usbatm-remove-pointless-inline.patch @@ -0,0 +1,29 @@ +From duncan.sands@math.u-psud.fr Fri Apr 28 09:53:53 2006 +From: Duncan Sands <duncan.sands@math.u-psud.fr> +To: Greg KH <greg@kroah.com> +Subject: USBATM: remove pointless inline +Cc: linux-usb-devel@lists.sourceforge.net +Content-Disposition: inline +Date: Fri, 28 Apr 2006 18:53:45 +0200 +Message-Id: <200604281853.45650.duncan.sands@math.u-psud.fr> + +Remove pointless inline. + +Signed-off-by: Duncan Sands <baldrick@free.fr> +Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> + +--- + drivers/usb/atm/usbatm.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- gregkh-2.6.orig/drivers/usb/atm/usbatm.c ++++ gregkh-2.6/drivers/usb/atm/usbatm.c +@@ -1039,7 +1039,7 @@ static void usbatm_tasklet_schedule(unsi + tasklet_schedule((struct tasklet_struct *) data); + } + +-static inline void usbatm_init_channel(struct usbatm_channel *channel) ++static void usbatm_init_channel(struct usbatm_channel *channel) + { + spin_lock_init(&channel->lock); + INIT_LIST_HEAD(&channel->list); |