Re: [PATCH] usb-serial regression fix

Mark Lord
2007-03-13T16:35:57Z

Jim Radford wrote:
> ...
> This patch reverts d9a7ecacac5f8274d2afce09aadcf37bdb42b93a since it
> breaks drivers that need to access the ->port[] array in shutdown
> (most of them).

Patch applied, tested, works for me.

Signed-Off: Jim Radford <radford@blackbean.org>
Acked-by: Mark Lord <mlord@pobox.com>

--- b/drivers/usb/serial/usb-serial.c
+++ a/drivers/usb/serial/usb-serial.c
@@ -137,6 +135,11 @@

dbg("%s - %s", __FUNCTION__, serial->type->description);

+ serial->type->shutdown(serial);
+
+ /* return the minor range that this device had */
+ return_serial(serial);
+
for (i = 0; i < serial->num_ports; ++i)
serial->port[i]->open_count = 0;

@@ -147,12 +150,6 @@
serial->port[i] = NULL;
}

- if (serial->type->shutdown)
- serial->type->shutdown(serial);
-
- /* return the minor range that this device had */
- return_serial(serial);
-
/* If this is a "fake" port, we have to clean it up here, as it will
* not get cleaned up in port_release() as it was never registered with
* the driver core */