Re: [PATCH] USB: visor: fix initialisation of UX50/TH55 devices

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 10/12/2010 12:07 AM, Johan Hovold wrote:
Fix regression introduced by commit
214916f2ec6701e1c9972f26c60b3dc37d3153c6 (USB: visor: reimplement using
generic framework) which broke initialisation of UX50/TH55 devices that
used re-mapped bulk-out endpoint addresses.

Compile-only tested.

Cc: stable<stable@xxxxxxxxxx>
Signed-off-by: Johan Hovold<jhovold@xxxxxxxxx>
---

Hi Greg and Robert,

I missed the implications of the end-point remapping that was made for the
UX50/TH55 devices (write urbs are now initialised prior to attach). If Robert
confirms this patch solves the problem he's experiencing then this one should
go to stable as well.

Thanks,
Johan


  drivers/usb/serial/visor.c |   11 ++++++++++-
  1 files changed, 10 insertions(+), 1 deletions(-)

diff --git a/drivers/usb/serial/visor.c b/drivers/usb/serial/visor.c
index eb76aae..15a5d89 100644
--- a/drivers/usb/serial/visor.c
+++ b/drivers/usb/serial/visor.c
@@ -606,6 +606,10 @@ static int treo_attach(struct usb_serial *serial)

  static int clie_5_attach(struct usb_serial *serial)
  {
+	struct usb_serial_port *port;
+	unsigned int pipe;
+	int j;
+
  	dbg("%s", __func__);

  	/* TH55 registers 2 ports.
@@ -621,9 +625,14 @@ static int clie_5_attach(struct usb_serial *serial)
  		return -1;

  	/* port 0 now uses the modified endpoint Address */
-	serial->port[0]->bulk_out_endpointAddress =
+	port = serial->port[0];
+	port->bulk_out_endpointAddress =
  				serial->port[1]->bulk_out_endpointAddress;

+	pipe = usb_sndbulkpipe(serial->dev, port->bulk_out_endpointAddress);
+	for (j = 0; j<  ARRAY_SIZE(port->write_urbs); ++j)
+		port->write_urbs[j]->pipe = pipe;
+
  	return 0;
  }


Hi Johan and Greg,

I have just tested the visor.c patch applied to 2.6.35.6, and the sync works correctly now.

I also tested with 2.6.36-rc7, and the patch fixes the problem on that version as well.

Many thanks.

Robert.

(sent via another email MTA, as bayarea.net doesn't want to send to gmail addresses!)
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux