diff mbox series

[F,SRU,B/D/E] UBUNTU: SAUCE: Revert "usb: handle warm-reset port requests on hub resume"

Message ID 20200107221129.34729-1-dann.frazier@canonical.com
State New
Headers show
Series [F,SRU,B/D/E] UBUNTU: SAUCE: Revert "usb: handle warm-reset port requests on hub resume" | expand

Commit Message

dann frazier Jan. 7, 2020, 10:11 p.m. UTC
BugLink: https://bugs.launchpad.net/bugs/1856608

This reverts upstream commit 4fdc1790e6a9ef22399c6bc6e63b80f4609f3b7e
due to a regression.

Signed-off-by: dann frazier <dann.frazier@canonical.com>
---
 drivers/usb/core/hub.c | 7 -------
 1 file changed, 7 deletions(-)

Comments

Marcelo Henrique Cerri Jan. 8, 2020, 2:05 p.m. UTC | #1
Ideally it should have more details about what caused the issue and
about the test results. But I know that we have positive test results
internally, so:

Acked-by: Marcelo Henrique Cerri <marcelo.cerri@canonical.com>

On Tue, Jan 07, 2020 at 03:11:29PM -0700, dann frazier wrote:
> BugLink: https://bugs.launchpad.net/bugs/1856608
> 
> This reverts upstream commit 4fdc1790e6a9ef22399c6bc6e63b80f4609f3b7e
> due to a regression.
> 
> Signed-off-by: dann frazier <dann.frazier@canonical.com>
> ---
>  drivers/usb/core/hub.c | 7 -------
>  1 file changed, 7 deletions(-)
> 
> diff --git a/drivers/usb/core/hub.c b/drivers/usb/core/hub.c
> index 59b708ffc019f..4ddac9bd68e3c 100644
> --- a/drivers/usb/core/hub.c
> +++ b/drivers/usb/core/hub.c
> @@ -104,8 +104,6 @@ EXPORT_SYMBOL_GPL(ehci_cf_port_reset_rwsem);
>  static void hub_release(struct kref *kref);
>  static int usb_reset_and_verify_device(struct usb_device *udev);
>  static int hub_port_disable(struct usb_hub *hub, int port1, int set_state);
> -static bool hub_port_warm_reset_required(struct usb_hub *hub, int port1,
> -		u16 portstatus);
>  
>  static inline char *portspeed(struct usb_hub *hub, int portstatus)
>  {
> @@ -1112,11 +1110,6 @@ static void hub_activate(struct usb_hub *hub, enum hub_activation_type type)
>  						   USB_PORT_FEAT_ENABLE);
>  		}
>  
> -		/* Make sure a warm-reset request is handled by port_event */
> -		if (type == HUB_RESUME &&
> -		    hub_port_warm_reset_required(hub, port1, portstatus))
> -			set_bit(port1, hub->event_bits);
> -
>  		/*
>  		 * Add debounce if USB3 link is in polling/link training state.
>  		 * Link will automatically transition to Enabled state after
> -- 
> 2.25.0.rc1
> 
> 
> -- 
> kernel-team mailing list
> kernel-team@lists.ubuntu.com
> https://lists.ubuntu.com/mailman/listinfo/kernel-team
Stefan Bader Jan. 8, 2020, 3:15 p.m. UTC | #2
On 07.01.20 23:11, dann frazier wrote:
> BugLink: https://bugs.launchpad.net/bugs/1856608
> 
> This reverts upstream commit 4fdc1790e6a9ef22399c6bc6e63b80f4609f3b7e
> due to a regression.
> 
> Signed-off-by: dann frazier <dann.frazier@canonical.com>
> ---

I guess for Bionic its confirmed but are we positive this is the same for D/E?
Could be a missing pre-req in 4.15 only...

-Stefan

>  drivers/usb/core/hub.c | 7 -------
>  1 file changed, 7 deletions(-)
> 
> diff --git a/drivers/usb/core/hub.c b/drivers/usb/core/hub.c
> index 59b708ffc019f..4ddac9bd68e3c 100644
> --- a/drivers/usb/core/hub.c
> +++ b/drivers/usb/core/hub.c
> @@ -104,8 +104,6 @@ EXPORT_SYMBOL_GPL(ehci_cf_port_reset_rwsem);
>  static void hub_release(struct kref *kref);
>  static int usb_reset_and_verify_device(struct usb_device *udev);
>  static int hub_port_disable(struct usb_hub *hub, int port1, int set_state);
> -static bool hub_port_warm_reset_required(struct usb_hub *hub, int port1,
> -		u16 portstatus);
>  
>  static inline char *portspeed(struct usb_hub *hub, int portstatus)
>  {
> @@ -1112,11 +1110,6 @@ static void hub_activate(struct usb_hub *hub, enum hub_activation_type type)
>  						   USB_PORT_FEAT_ENABLE);
>  		}
>  
> -		/* Make sure a warm-reset request is handled by port_event */
> -		if (type == HUB_RESUME &&
> -		    hub_port_warm_reset_required(hub, port1, portstatus))
> -			set_bit(port1, hub->event_bits);
> -
>  		/*
>  		 * Add debounce if USB3 link is in polling/link training state.
>  		 * Link will automatically transition to Enabled state after
>
dann frazier Jan. 8, 2020, 4:10 p.m. UTC | #3
On Wed, Jan 8, 2020 at 8:18 AM Stefan Bader <stefan.bader@canonical.com> wrote:
>
> On 07.01.20 23:11, dann frazier wrote:
> > BugLink: https://bugs.launchpad.net/bugs/1856608
> >
> > This reverts upstream commit 4fdc1790e6a9ef22399c6bc6e63b80f4609f3b7e
> > due to a regression.
> >
> > Signed-off-by: dann frazier <dann.frazier@canonical.com>
> > ---
>
> I guess for Bionic its confirmed but are we positive this is the same for D/E?
> Could be a missing pre-req in 4.15 only...

Can't say 100% because we didn't explicitly test those (and doing so
is difficult, as it requires remote hands). But we did explicitly test
upstream, and found that this revert was necessary as of 5.5-rc2. So,
I'd be surprised if D/E were somehow immune.

  -dann

> -Stefan
>
> >  drivers/usb/core/hub.c | 7 -------
> >  1 file changed, 7 deletions(-)
> >
> > diff --git a/drivers/usb/core/hub.c b/drivers/usb/core/hub.c
> > index 59b708ffc019f..4ddac9bd68e3c 100644
> > --- a/drivers/usb/core/hub.c
> > +++ b/drivers/usb/core/hub.c
> > @@ -104,8 +104,6 @@ EXPORT_SYMBOL_GPL(ehci_cf_port_reset_rwsem);
> >  static void hub_release(struct kref *kref);
> >  static int usb_reset_and_verify_device(struct usb_device *udev);
> >  static int hub_port_disable(struct usb_hub *hub, int port1, int set_state);
> > -static bool hub_port_warm_reset_required(struct usb_hub *hub, int port1,
> > -             u16 portstatus);
> >
> >  static inline char *portspeed(struct usb_hub *hub, int portstatus)
> >  {
> > @@ -1112,11 +1110,6 @@ static void hub_activate(struct usb_hub *hub, enum hub_activation_type type)
> >                                                  USB_PORT_FEAT_ENABLE);
> >               }
> >
> > -             /* Make sure a warm-reset request is handled by port_event */
> > -             if (type == HUB_RESUME &&
> > -                 hub_port_warm_reset_required(hub, port1, portstatus))
> > -                     set_bit(port1, hub->event_bits);
> > -
> >               /*
> >                * Add debounce if USB3 link is in polling/link training state.
> >                * Link will automatically transition to Enabled state after
> >
>
>
Stefan Bader Jan. 8, 2020, 4:18 p.m. UTC | #4
On 07.01.20 23:11, dann frazier wrote:
> BugLink: https://bugs.launchpad.net/bugs/1856608
> 
> This reverts upstream commit 4fdc1790e6a9ef22399c6bc6e63b80f4609f3b7e
> due to a regression.
> 
> Signed-off-by: dann frazier <dann.frazier@canonical.com>
Acked-by: Stefan Bader <stefan.bader@canonical.com>
> ---

Ok, so with Dann's reply about v5.5 I guess this looks to be ok to go forward.

>  drivers/usb/core/hub.c | 7 -------
>  1 file changed, 7 deletions(-)
> 
> diff --git a/drivers/usb/core/hub.c b/drivers/usb/core/hub.c
> index 59b708ffc019f..4ddac9bd68e3c 100644
> --- a/drivers/usb/core/hub.c
> +++ b/drivers/usb/core/hub.c
> @@ -104,8 +104,6 @@ EXPORT_SYMBOL_GPL(ehci_cf_port_reset_rwsem);
>  static void hub_release(struct kref *kref);
>  static int usb_reset_and_verify_device(struct usb_device *udev);
>  static int hub_port_disable(struct usb_hub *hub, int port1, int set_state);
> -static bool hub_port_warm_reset_required(struct usb_hub *hub, int port1,
> -		u16 portstatus);
>  
>  static inline char *portspeed(struct usb_hub *hub, int portstatus)
>  {
> @@ -1112,11 +1110,6 @@ static void hub_activate(struct usb_hub *hub, enum hub_activation_type type)
>  						   USB_PORT_FEAT_ENABLE);
>  		}
>  
> -		/* Make sure a warm-reset request is handled by port_event */
> -		if (type == HUB_RESUME &&
> -		    hub_port_warm_reset_required(hub, port1, portstatus))
> -			set_bit(port1, hub->event_bits);
> -
>  		/*
>  		 * Add debounce if USB3 link is in polling/link training state.
>  		 * Link will automatically transition to Enabled state after
>
diff mbox series

Patch

diff --git a/drivers/usb/core/hub.c b/drivers/usb/core/hub.c
index 59b708ffc019f..4ddac9bd68e3c 100644
--- a/drivers/usb/core/hub.c
+++ b/drivers/usb/core/hub.c
@@ -104,8 +104,6 @@  EXPORT_SYMBOL_GPL(ehci_cf_port_reset_rwsem);
 static void hub_release(struct kref *kref);
 static int usb_reset_and_verify_device(struct usb_device *udev);
 static int hub_port_disable(struct usb_hub *hub, int port1, int set_state);
-static bool hub_port_warm_reset_required(struct usb_hub *hub, int port1,
-		u16 portstatus);
 
 static inline char *portspeed(struct usb_hub *hub, int portstatus)
 {
@@ -1112,11 +1110,6 @@  static void hub_activate(struct usb_hub *hub, enum hub_activation_type type)
 						   USB_PORT_FEAT_ENABLE);
 		}
 
-		/* Make sure a warm-reset request is handled by port_event */
-		if (type == HUB_RESUME &&
-		    hub_port_warm_reset_required(hub, port1, portstatus))
-			set_bit(port1, hub->event_bits);
-
 		/*
 		 * Add debounce if USB3 link is in polling/link training state.
 		 * Link will automatically transition to Enabled state after