Message ID | 20181217133740.5342-1-nsaenzjulienne@suse.de (mailing list archive) |
---|---|
State | Accepted |
Commit | 2419f30a4a4fcaa5f35111563b4c61f1b2b26841 |
Headers | show |
Series | xhci: fix 'broken_suspend' placement in struct xchi_hcd | expand |
Nicolas Saenz Julienne <nsaenzjulienne@suse.de> writes: > As commented in the struct's definition there shouldn't be anything > underneath it's 'priv[0]' member as it would break some macros. its? I guess Mathias can fix when applying.
On 17.12.2018 15:37, Nicolas Saenz Julienne wrote: > As commented in the struct's definition there shouldn't be anything > underneath it's 'priv[0]' member as it would break some macros. > > The patch converts the broken_suspend into a bit-field and relocates it > next to to the rest of bit-fields. > > Fixes: a7d57abcc8a5 ("xhci: workaround CSS timeout on AMD SNPS 3.0 xHC") > Reported-by: Oliver Neukum <oneukum@suse.com> > Signed-off-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de> > --- > drivers/usb/host/xhci.h | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/usb/host/xhci.h b/drivers/usb/host/xhci.h > index c3515bad5dbb..011dd45f8718 100644 > --- a/drivers/usb/host/xhci.h > +++ b/drivers/usb/host/xhci.h > @@ -1863,6 +1863,8 @@ struct xhci_hcd { > unsigned sw_lpm_support:1; > /* support xHCI 1.0 spec USB2 hardware LPM */ > unsigned hw_lpm_support:1; > + /* Broken Suspend flag for SNPS Suspend resume issue */ > + unsigned broken_suspend:1; > /* cached usb2 extened protocol capabilites */ > u32 *ext_caps; > unsigned int num_ext_caps; > @@ -1880,8 +1882,6 @@ struct xhci_hcd { > void *dbc; > /* platform-specific data -- must come last */ > unsigned long priv[0] __aligned(sizeof(s64)); > - /* Broken Suspend flag for SNPS Suspend resume issue */ > - u8 broken_suspend; > }; > > /* Platform specific overrides to generic XHCI hc_driver ops */ > Thanks, not sure how I missed that. Greg, in case you want to pick this simple fix to 4.20 still: Acked-by: Mathias Nyman <mathias.nyman@linux.intel.com> Or prefer me to resend it? -Mathias
On Mon, Dec 17, 2018 at 03:59:28PM +0200, Mathias Nyman wrote: > On 17.12.2018 15:37, Nicolas Saenz Julienne wrote: > > As commented in the struct's definition there shouldn't be anything > > underneath it's 'priv[0]' member as it would break some macros. > > > > The patch converts the broken_suspend into a bit-field and relocates it > > next to to the rest of bit-fields. > > > > Fixes: a7d57abcc8a5 ("xhci: workaround CSS timeout on AMD SNPS 3.0 xHC") > > Reported-by: Oliver Neukum <oneukum@suse.com> > > Signed-off-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de> > > --- > > drivers/usb/host/xhci.h | 4 ++-- > > 1 file changed, 2 insertions(+), 2 deletions(-) > > > > diff --git a/drivers/usb/host/xhci.h b/drivers/usb/host/xhci.h > > index c3515bad5dbb..011dd45f8718 100644 > > --- a/drivers/usb/host/xhci.h > > +++ b/drivers/usb/host/xhci.h > > @@ -1863,6 +1863,8 @@ struct xhci_hcd { > > unsigned sw_lpm_support:1; > > /* support xHCI 1.0 spec USB2 hardware LPM */ > > unsigned hw_lpm_support:1; > > + /* Broken Suspend flag for SNPS Suspend resume issue */ > > + unsigned broken_suspend:1; > > /* cached usb2 extened protocol capabilites */ > > u32 *ext_caps; > > unsigned int num_ext_caps; > > @@ -1880,8 +1882,6 @@ struct xhci_hcd { > > void *dbc; > > /* platform-specific data -- must come last */ > > unsigned long priv[0] __aligned(sizeof(s64)); > > - /* Broken Suspend flag for SNPS Suspend resume issue */ > > - u8 broken_suspend; > > }; > > /* Platform specific overrides to generic XHCI hc_driver ops */ > > > > Thanks, not sure how I missed that. > > Greg, in case you want to pick this simple fix to 4.20 still: > Acked-by: Mathias Nyman <mathias.nyman@linux.intel.com> I can queue it up, thanks! greg k-h
diff --git a/drivers/usb/host/xhci.h b/drivers/usb/host/xhci.h index c3515bad5dbb..011dd45f8718 100644 --- a/drivers/usb/host/xhci.h +++ b/drivers/usb/host/xhci.h @@ -1863,6 +1863,8 @@ struct xhci_hcd { unsigned sw_lpm_support:1; /* support xHCI 1.0 spec USB2 hardware LPM */ unsigned hw_lpm_support:1; + /* Broken Suspend flag for SNPS Suspend resume issue */ + unsigned broken_suspend:1; /* cached usb2 extened protocol capabilites */ u32 *ext_caps; unsigned int num_ext_caps; @@ -1880,8 +1882,6 @@ struct xhci_hcd { void *dbc; /* platform-specific data -- must come last */ unsigned long priv[0] __aligned(sizeof(s64)); - /* Broken Suspend flag for SNPS Suspend resume issue */ - u8 broken_suspend; }; /* Platform specific overrides to generic XHCI hc_driver ops */
As commented in the struct's definition there shouldn't be anything underneath it's 'priv[0]' member as it would break some macros. The patch converts the broken_suspend into a bit-field and relocates it next to to the rest of bit-fields. Fixes: a7d57abcc8a5 ("xhci: workaround CSS timeout on AMD SNPS 3.0 xHC") Reported-by: Oliver Neukum <oneukum@suse.com> Signed-off-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de> --- drivers/usb/host/xhci.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)