Re: [PATCH 1/1] hso: fix problem with wrong status code sent by OPTION GTM601 during RING indication

From: Dr. H. Nikolaus Schaller
Date: Fri Dec 13 2013 - 09:43:15 EST


Hi,

Am 02.10.2013 um 09:00 schrieb Dr. H. Nikolaus Schaller:

> Hi Jan,
>
> we are using a GTM601 modem (Firmware 1.7) for a while and have spotted an
> issue that under some conditions the modem sends a packed wIndex over USB
> that is rejected by the hso driver making troubles afterwards. Not rejecting makes
> it work fine.
>
> BR,
> Nikolaus Schaller
>
> ---
>
> From f5c7e15b61f2ce4fe3105ff914f6bfaf5d74af0d Mon Sep 17 00:00:00 2001
> From: "H. Nikolaus Schaller" <hns@xxxxxxxxxxxxx>
> Date: Thu, 15 Nov 2012 14:40:57 +0100
> Subject: [PATCH 1/1] hso: fix problem with wrong status code sent by OPTION
> GTM601 during RING indication
>
> It has been observed that the GTM601 with 1.7 firmware sometimes sends a value
> wIndex that has bit 0x04 set instead of being reset as the code expects. So we
> mask it for the error check.
>
> See http://lists.goldelico.com/pipermail/gta04-owner/2012-February/001643.html
>
> Signed-off-by: NeilBrown <neilb@xxxxxxx>
> Signed-off-by: H. Nikolaus Schaller <hns@xxxxxxxxxxxx>
> ---
> drivers/net/usb/hso.c | 3 ++-
> 1 files changed, 2 insertions(+), 1 deletions(-)
>
> diff --git a/drivers/net/usb/hso.c b/drivers/net/usb/hso.c
> index cba1d46..d146e26 100644
> --- a/drivers/net/usb/hso.c
> +++ b/drivers/net/usb/hso.c
> @@ -1503,7 +1503,8 @@ static void tiocmget_intr_callback(struct urb *urb)
> if (serial_state_notification->bmRequestType != BM_REQUEST_TYPE ||
> serial_state_notification->bNotification != B_NOTIFICATION ||
> le16_to_cpu(serial_state_notification->wValue) != W_VALUE ||
> - le16_to_cpu(serial_state_notification->wIndex) != W_INDEX ||
> + (le16_to_cpu(serial_state_notification->wIndex) & ~0x4) !=
> + W_INDEX ||
> le16_to_cpu(serial_state_notification->wLength) != W_LENGTH) {
> dev_warn(&usb->dev,
> "hso received invalid serial state notification\n");
> --
> 1.7.7.4
>
>

I have found this (better) proposal by OPTION, but wonder what did happen to it.
It neither shows in mainline 3.13-rc nor linux-next:

https://lkml.org/lkml/2013/10/9/263

BR,
Nikolaus

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/