Would it be possible to have the patches for Qualcomm Gobi 2000 USB WWAN
support merged in both 2.6.32 and 2.6.34? The patch breaks out code from the
option driver into a generic wwan set of code and then makes both the option
and qcserial drivers use it. I've built and tested both versions on my Thinkpad
X201 (based on 2.6.32-15 and 2.6.34-1~experimental.2) and the necessary code
for loading the firmware (gobi-loader) is in NEW.
and I've rebased them against the current trees to remove any offsets when
stuck at the end of the relevant series files. Also, in the 2.6.32 kernel,
some of the USB IDs added in the patch seem to have been merged in a stable
bugfix update, but the code changes and other IDs haven't, so I had to clean
that up.
The code has been merged upstream in the following commits, so will not be a
long term maintanence headache:
The generic USB serial code is ill-suited for high-speed USB wwan devices,
resulting in the option driver. However, other non-option devices may also
gain similar benefits from not using the generic code. Factorise out the
non-option specific code from the option driver and make it available to
other users.
Signed-off-by: Matthew Garrett <mjg@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Kernel: Linux 2.6.26-2-686 (SMP w/1 CPU core)
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash
06-13-2010, 02:33 AM
Ben Hutchings
Bug#585661: linux-2.6: support for gobi 2000 WWAN devices
On Sat, 2010-06-12 at 22:31 +0100, Mark Hymers wrote:
> Package: linux-2.6
> Version: 2.6.32-15
> Severity: wishlist
> Tags: patch
>
> Hi,
>
> Would it be possible to have the patches for Qualcomm Gobi 2000 USB WWAN
> support merged in both 2.6.32 and 2.6.34? The patch breaks out code from the
> option driver into a generic wwan set of code and then makes both the option
> and qcserial drivers use it. I've built and tested both versions on my Thinkpad
> X201 (based on 2.6.32-15 and 2.6.34-1~experimental.2) and the necessary code
> for loading the firmware (gobi-loader) is in NEW.
>
> The patches originally came from:
>
> http://www.codon.org.uk/~mjg59/gobi_loader/kernel_patches/
>
> and I've rebased them against the current trees to remove any offsets when
> stuck at the end of the relevant series files. Also, in the 2.6.32 kernel,
> some of the USB IDs added in the patch seem to have been merged in a stable
> bugfix update, but the code changes and other IDs haven't, so I had to clean
> that up.
[...]
I would prefer if you could provide one patch corresponding to each of
the upstream commits, for 2.6.32. This makes it easier to compare
versions and to resolve any future conflicts with stable updates.
There is no point in doing this for 2.6.34 as we will shortly be moving
to 2.6.35 release candidates in experimental.
Ben.
--
Ben Hutchings
Once a job is fouled up, anything done to improve it makes it worse.
06-14-2010, 01:15 PM
Mark Hymers
Bug#585661: linux-2.6: support for gobi 2000 WWAN devices
On Sun, 13, Jun, 2010 at 03:33:43AM +0100, Ben Hutchings spoke thus..
> I would prefer if you could provide one patch corresponding to each of
> the upstream commits, for 2.6.32. This makes it easier to compare
> versions and to resolve any future conflicts with stable updates.
Ok. I've attached four patches which seem to be the relevant ones from
git. Note that I had to modify the second patch in order to apply on
top of the current tree. I've compiled and tested this and the device
works fine. Please note that I'm not a kernel hacker by any stretch of
the imagination, so let me know if I need to improve anything.
> There is no point in doing this for 2.6.34 as we will shortly be moving
> to 2.6.35 release candidates in experimental.
Ok, thanks.
Mark
--
Mark Hymers <mhy at debian dot org>
"'I regret nothing?' That's not a song, that's an idiots charter."
Andy Hamilton, Old Harry's Game
06-15-2010, 12:44 AM
Ben Hutchings
Bug#585661: linux-2.6: support for gobi 2000 WWAN devices
On Mon, 2010-06-14 at 14:15 +0100, Mark Hymers wrote:
> On Sun, 13, Jun, 2010 at 03:33:43AM +0100, Ben Hutchings spoke thus..
> > I would prefer if you could provide one patch corresponding to each of
> > the upstream commits, for 2.6.32. This makes it easier to compare
> > versions and to resolve any future conflicts with stable updates.
>
> Ok. I've attached four patches which seem to be the relevant ones from
> git. Note that I had to modify the second patch in order to apply on
> top of the current tree. I've compiled and tested this and the device
> works fine. Please note that I'm not a kernel hacker by any stretch of
> the imagination, so let me know if I need to improve anything.
>
> > There is no point in doing this for 2.6.34 as we will shortly be moving
> > to 2.6.35 release candidates in experimental.
>
> Ok, thanks.
These don't quite sum up to gobi_2.6.32.patch; the interdiff from
gobi_2.6.32.patch to these is:
Upstream linux-2.6 has the version we now have with the split out code.
> > tty = tty_port_tty_get(&port->port);
> > if (urb->actual_length) {
> > - tty_buffer_request_room(tty, urb->actual_length);
>
> Should this really have been removed?
>
> > @@ -224,9 +224,9 @@
> > tty_kref_put(tty);
> >
> > /* Resubmit urb so we continue receiving */
> > - if (port->port.count && status != -ESHUTDOWN) {
> > + if (status != -ESHUTDOWN) {
> > err = usb_submit_urb(urb, GFP_ATOMIC);
> > - if (err)
> > + if (err && err != -EPERM)
>
> What's correct here?
For both of these, comparing what was merged upstream and what was in
the 2.6.32 original patch from Matthew's website, the split out version
from git is what was merged upstream. I'd like to ask Matthew for
further details if that's ok (again, I'm not a kernel hacker, just
trying to get this device working in Squeeze). I'm assuming it would
be safer and easier to merge what went into upstream git.
> > printk(KERN_ERR "%s: resubmit read urb failed. "
> > "(%d)", __func__, err);
> > else
> > @@ -610,7 +610,7 @@
> > for (i = 0; i < serial->num_ports; i++) {
> > port = serial->port[i];
> > if (!port->interrupt_in_urb) {
> > - dbg("%s: No interrupt URB for port %d
", __func__, i);
> > + dbg("%s: No interrupt URB for port %d", __func__, i);
>
> The newline should definitely be included, though this is not really
> important.
The private pointer is in the upstream merged patch, but not the
original patch against 2.6.32.
--
Mark Hymers <mhy at debian dot org>
"++?????++ Out of Cheese Error. Redo From Start."
Interesting Times, Terry Pratchett
--
To UNSUBSCRIBE, email to debian-kernel-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
Archive: 20100615075436.GA24376@hymers.org.uk">http://lists.debian.org/20100615075436.GA24376@hymers.org.uk
06-15-2010, 09:08 AM
Bjørn Mork
Bug#585661: linux-2.6: support for gobi 2000 WWAN devices
Mark Hymers <mhy@debian.org> writes:
> On Tue, 15, Jun, 2010 at 01:44:45AM +0100, Ben Hutchings spoke thus..
>
>> > @@ -610,7 +610,7 @@
>> > for (i = 0; i < serial->num_ports; i++) {
>> > port = serial->port[i];
>> > if (!port->interrupt_in_urb) {
>> > - dbg("%s: No interrupt URB for port %d
", __func__, i);
>> > + dbg("%s: No interrupt URB for port %d", __func__, i);
>>
>> The newline should definitely be included, though this is not really
>> important.
>
> It was merged upstream without the newline.
Probably because include/linux/usb/serial.h has this:
/* Use our own dbg macro */
#undef dbg
#define dbg(format, arg...)
do {
if (debug)
printk(KERN_DEBUG "%s: " format "
", __FILE__, ##arg);
} while (0)
Bjørn
--
To UNSUBSCRIBE, email to debian-kernel-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
Archive: 87typ464ue.fsf@nemi.mork.no">http://lists.debian.org/87typ464ue.fsf@nemi.mork.no
06-15-2010, 12:27 PM
Ben Hutchings
Bug#585661: linux-2.6: support for gobi 2000 WWAN devices
On Tue, 2010-06-15 at 08:54 +0100, Mark Hymers wrote:
> On Tue, 15, Jun, 2010 at 01:44:45AM +0100, Ben Hutchings spoke thus..
[...]
> > > tty = tty_port_tty_get(&port->port);
> > > if (urb->actual_length) {
> > > - tty_buffer_request_room(tty, urb->actual_length);
> >
> > Should this really have been removed?
Answer: yes, it is pointless to call this function without checking the
result, and tty_insert_flip_string() calls it properly.
> > > @@ -224,9 +224,9 @@
> > > tty_kref_put(tty);
> > >
> > > /* Resubmit urb so we continue receiving */
> > > - if (port->port.count && status != -ESHUTDOWN) {
> > > + if (status != -ESHUTDOWN) {
> > > err = usb_submit_urb(urb, GFP_ATOMIC);
> > > - if (err)
> > > + if (err && err != -EPERM)
> >
> > What's correct here?
>
> For both of these, comparing what was merged upstream and what was in
> the 2.6.32 original patch from Matthew's website, the split out version
> from git is what was merged upstream.
[...]
I understood that, but wanted to check that there was not a semantic
difference between 2.6.32 and .35 that made the former correct.
However, now that I've looked more closely I think this change is valid
for both versions.
Therefore, I'm applying the changes you sent.
Ben.
--
Ben Hutchings
Once a job is fouled up, anything done to improve it makes it worse.
06-15-2010, 03:02 PM
Mark Hymers
Bug#585661: linux-2.6: support for gobi 2000 WWAN devices
On Tue, 15, Jun, 2010 at 01:27:19PM +0100, Ben Hutchings spoke thus..
> I understood that, but wanted to check that there was not a semantic
> difference between 2.6.32 and .35 that made the former correct.
> However, now that I've looked more closely I think this change is valid
> for both versions.
>
> Therefore, I'm applying the changes you sent.
I spoke to Matthew and he confirmed that those changes should be fine to
merge too. Thanks for your work on this and sorry for the confusion.
Mark
--
Mark Hymers <mhy at debian dot org>
"The first thing we do, let's kill all the Lawyers"
Henry VI Part II, Shakespeare
--
To UNSUBSCRIBE, email to debian-kernel-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
Archive: 20100615150212.GA13469@hymers.org.uk">http://lists.debian.org/20100615150212.GA13469@hymers.org.uk