mirror of
https://github.com/torvalds/linux
synced 2024-09-20 02:57:25 +00:00
USB: xhci: fix 'broken_suspend' placement in struct xchi_hcd
As commented in the struct's definition there shouldn't be anything
underneath its '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: a7d57abcc8
("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>
Acked-by: Mathias Nyman <mathias.nyman@linux.intel.com>
Cc: stable <stable@vger.kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
93a86395b4
commit
2419f30a4a
|
@ -1863,6 +1863,8 @@ struct xhci_hcd {
|
||||||
unsigned sw_lpm_support:1;
|
unsigned sw_lpm_support:1;
|
||||||
/* support xHCI 1.0 spec USB2 hardware LPM */
|
/* support xHCI 1.0 spec USB2 hardware LPM */
|
||||||
unsigned hw_lpm_support:1;
|
unsigned hw_lpm_support:1;
|
||||||
|
/* Broken Suspend flag for SNPS Suspend resume issue */
|
||||||
|
unsigned broken_suspend:1;
|
||||||
/* cached usb2 extened protocol capabilites */
|
/* cached usb2 extened protocol capabilites */
|
||||||
u32 *ext_caps;
|
u32 *ext_caps;
|
||||||
unsigned int num_ext_caps;
|
unsigned int num_ext_caps;
|
||||||
|
@ -1880,8 +1882,6 @@ struct xhci_hcd {
|
||||||
void *dbc;
|
void *dbc;
|
||||||
/* platform-specific data -- must come last */
|
/* platform-specific data -- must come last */
|
||||||
unsigned long priv[0] __aligned(sizeof(s64));
|
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 */
|
/* Platform specific overrides to generic XHCI hc_driver ops */
|
||||||
|
|
Loading…
Reference in a new issue