2020-09-02 11:40:16

by William Sung

[permalink] [raw]
Subject: [PATCH v2] usb: serial: option: Fix the lackage for Quectel EG95 LTE modem support

* Add reset-resume callback for resetting USB devices after MCU exits
from suspend/sleep mode.

* Add zero packet support

Fixes: da6902e5b6db ("USB: serial: option: add Quectel EG95 LTE modem"

Signed-off-by: William Sung <[email protected]>
---

v2: * Add ZLP support
* Remove redundant code for reserving interface number 4

drivers/usb/serial/option.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/usb/serial/option.c b/drivers/usb/serial/option.c
index 89b3192af326..ba4dc67dab2f 100644
--- a/drivers/usb/serial/option.c
+++ b/drivers/usb/serial/option.c
@@ -1099,7 +1099,7 @@ static const struct usb_device_id option_ids[] = {
{ USB_DEVICE(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EC25),
.driver_info = RSVD(4) },
{ USB_DEVICE(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EG95),
- .driver_info = RSVD(4) },
+ .driver_info = RSVD(4) | ZLP },
{ USB_DEVICE(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_BG96),
.driver_info = RSVD(4) },
{ USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EP06, 0xff, 0xff, 0xff),
@@ -2069,6 +2069,7 @@ static struct usb_serial_driver option_1port_device = {
#ifdef CONFIG_PM
.suspend = usb_wwan_suspend,
.resume = usb_wwan_resume,
+ .reset_resume = usb_wwan_resume,
#endif
};

--
2.17.1


2020-09-18 07:56:25

by Johan Hovold

[permalink] [raw]
Subject: Re: [PATCH v2] usb: serial: option: Fix the lackage for Quectel EG95 LTE modem support

On Wed, Sep 02, 2020 at 07:03:01PM +0800, William Sung wrote:
> * Add reset-resume callback for resetting USB devices after MCU exits
> from suspend/sleep mode.

Looks like both your patches try to do this. Again, one logical change
per patch, please.

> * Add zero packet support
>
> Fixes: da6902e5b6db ("USB: serial: option: add Quectel EG95 LTE modem"
>
> Signed-off-by: William Sung <[email protected]>
> ---
>
> v2: * Add ZLP support
> * Remove redundant code for reserving interface number 4
>
> drivers/usb/serial/option.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/usb/serial/option.c b/drivers/usb/serial/option.c
> index 89b3192af326..ba4dc67dab2f 100644
> --- a/drivers/usb/serial/option.c
> +++ b/drivers/usb/serial/option.c
> @@ -1099,7 +1099,7 @@ static const struct usb_device_id option_ids[] = {
> { USB_DEVICE(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EC25),
> .driver_info = RSVD(4) },
> { USB_DEVICE(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EG95),
> - .driver_info = RSVD(4) },
> + .driver_info = RSVD(4) | ZLP },
> { USB_DEVICE(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_BG96),
> .driver_info = RSVD(4) },
> { USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EP06, 0xff, 0xff, 0xff),
> @@ -2069,6 +2069,7 @@ static struct usb_serial_driver option_1port_device = {
> #ifdef CONFIG_PM
> .suspend = usb_wwan_suspend,
> .resume = usb_wwan_resume,
> + .reset_resume = usb_wwan_resume,
> #endif
> };

Johan