diff --git a/0001-ACPI-video-Add-use_native_backlight-quirk-for-HP-Pro.patch b/0001-ACPI-video-Add-use_native_backlight-quirk-for-HP-Pro.patch new file mode 100644 index 000000000..80062ca59 --- /dev/null +++ b/0001-ACPI-video-Add-use_native_backlight-quirk-for-HP-Pro.patch @@ -0,0 +1,45 @@ +Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1025690 +Upstream-status: Included in 3.16 +Note: Not needed for 3.16 and higher since use_native_backlight=1 is the +default there, upstream is maintaining the quirk list for now in case it is +decided to flip the default back. + +From 4cf465b579c20bee868464f5d664f8d2d96cd370 Mon Sep 17 00:00:00 2001 +From: Hans de Goede +Date: Wed, 16 Jul 2014 13:28:34 +0200 +Subject: [PATCH] ACPI / video: Add use_native_backlight quirk for HP ProBook + 4540s + +As reported here: +https://bugzilla.redhat.com/show_bug.cgi?id=1025690 +This is yet another model which needs this quirk. + +Link: https://bugzilla.redhat.com/show_bug.cgi?id=1025690 +Signed-off-by: Hans de Goede +Signed-off-by: Rafael J. Wysocki +--- + drivers/acpi/video.c | 8 ++++++++ + 1 file changed, 8 insertions(+) + +diff --git a/drivers/acpi/video.c b/drivers/acpi/video.c +index 29649c1..350d52a 100644 +--- a/drivers/acpi/video.c ++++ b/drivers/acpi/video.c +@@ -581,6 +581,14 @@ static struct dmi_system_id video_dmi_table[] __initdata = { + }, + { + .callback = video_set_use_native_backlight, ++ .ident = "HP ProBook 4540s", ++ .matches = { ++ DMI_MATCH(DMI_SYS_VENDOR, "Hewlett-Packard"), ++ DMI_MATCH(DMI_PRODUCT_VERSION, "HP ProBook 4540s"), ++ }, ++ }, ++ { ++ .callback = video_set_use_native_backlight, + .ident = "HP ProBook 2013 models", + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Hewlett-Packard"), +-- +2.0.1 + diff --git a/0001-acpi-video-Add-video.use_native_backlight-1-for-HP-E.patch b/0001-acpi-video-Add-video.use_native_backlight-1-for-HP-E.patch new file mode 100644 index 000000000..cce82d9ff --- /dev/null +++ b/0001-acpi-video-Add-video.use_native_backlight-1-for-HP-E.patch @@ -0,0 +1,43 @@ +Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1123565 +Upstream-status: Send upstream for 3.17 with Cc: stable +Note: Not needed for 3.16 and higher since use_native_backlight=1 is the +default there, upstream is maintaining the quirk list for now in case it is +decided to flip the default back. + +From e1eaa90a9691696df34040f40f5dbc1d91a394f0 Mon Sep 17 00:00:00 2001 +From: Hans de Goede +Date: Mon, 28 Jul 2014 17:31:44 +0200 +Subject: [PATCH] acpi-video: Add video.use_native_backlight=1 for HP EliteBook + 2014 models + +https://bugzilla.redhat.com/show_bug.cgi?id=1123565 + +Cc: stable@vger.kernel.org +Signed-off-by: Hans de Goede +--- + drivers/acpi/video.c | 9 +++++++++ + 1 file changed, 9 insertions(+) + +diff --git a/drivers/acpi/video.c b/drivers/acpi/video.c +index 18c0e69..8268843 100644 +--- a/drivers/acpi/video.c ++++ b/drivers/acpi/video.c +@@ -673,6 +673,15 @@ static struct dmi_system_id video_dmi_table[] __initdata = { + }, + { + .callback = video_set_use_native_backlight, ++ .ident = "HP EliteBook 2014 models", ++ .matches = { ++ DMI_MATCH(DMI_SYS_VENDOR, "Hewlett-Packard"), ++ DMI_MATCH(DMI_PRODUCT_NAME, "HP EliteBook "), ++ DMI_MATCH(DMI_PRODUCT_NAME, " G2"), ++ }, ++ }, ++ { ++ .callback = video_set_use_native_backlight, + .ident = "HP ZBook 14", + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Hewlett-Packard"), +-- +2.0.1 + diff --git a/0001-xhci-Blacklist-using-streams-on-the-Etron-EJ168-cont.patch b/0001-xhci-Blacklist-using-streams-on-the-Etron-EJ168-cont.patch new file mode 100644 index 000000000..ee66d70c3 --- /dev/null +++ b/0001-xhci-Blacklist-using-streams-on-the-Etron-EJ168-cont.patch @@ -0,0 +1,99 @@ +Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1121288 +Upstream-status: Send upstream for 3.16/3.17 with Cc: stable + +From 82170a95391209b87bbedd0b3aa7636161573ddb Mon Sep 17 00:00:00 2001 +From: Hans de Goede +Date: Fri, 25 Jul 2014 12:28:02 +0200 +Subject: [PATCH] xhci: Blacklist using streams on the Etron EJ168 controller + +Streams on the EJ168 do not work as they should. I've spend 2 days trying +to get them to work, but without success. + +The first problem is that when ever you ring the stream-ring doorbell, the +controller starts executing trbs at the beginning of the first ring segment, +event if it ended somewhere else previously. This can be worked around by +allowing enqueing only one td (not a problem with how streams are typically +used) and then resetting our copies of the enqueueing en dequeueing pointers +on a td completion to match what the controller seems to be doing. + +This way things seem to start working with uas and instead of being able +to complete only the very first scsi command, the scsi core can probe the disk. + +But then things break later on when td-s get enqueued with more then one +trb. The controller does seem to increase its dequeue pointer while executing +a stream-ring (data transfer events I inserted for debugging do trigger). +However execution seems to stop at the final normal trb of a multi trb td, +even if there is a data transfer event inserted after the final trb. + +The first problem alone is a serious deviation from the spec, and esp. +dealing with cancellation would have been very tricky if not outright +impossible, but the second problem simply is a deal breaker altogether, +so this patch simply disables streams. + +Note this will cause the usb-storage + uas driver pair to automatically switch +to using usb-storage instead of uas on these devices, essentially reverting +to the 3.14 and earlier behavior when uas was marked CONFIG_BROKEN. + +https://bugzilla.redhat.com/show_bug.cgi?id=1121288 +https://bugzilla.kernel.org/show_bug.cgi?id=80101 + +Cc: stable@vger.kernel.org # 3.15 +Signed-off-by: Hans de Goede +--- + drivers/usb/host/xhci-pci.c | 4 +++- + drivers/usb/host/xhci.c | 3 ++- + drivers/usb/host/xhci.h | 2 ++ + 3 files changed, 7 insertions(+), 2 deletions(-) + +diff --git a/drivers/usb/host/xhci-pci.c b/drivers/usb/host/xhci-pci.c +index e20520f..464049f 100644 +--- a/drivers/usb/host/xhci-pci.c ++++ b/drivers/usb/host/xhci-pci.c +@@ -143,6 +143,7 @@ static void xhci_pci_quirks(struct device *dev, struct xhci_hcd *xhci) + xhci_dbg_trace(xhci, trace_xhci_dbg_quirks, + "QUIRK: Resetting on resume"); + xhci->quirks |= XHCI_TRUST_TX_LENGTH; ++ xhci->quirks |= XHCI_BROKEN_STREAMS; + } + if (pdev->vendor == PCI_VENDOR_ID_RENESAS && + pdev->device == 0x0015) +@@ -230,7 +231,8 @@ static int xhci_pci_probe(struct pci_dev *dev, const struct pci_device_id *id) + goto put_usb3_hcd; + /* Roothub already marked as USB 3.0 speed */ + +- if (HCC_MAX_PSA(xhci->hcc_params) >= 4) ++ if (!(xhci->quirks & XHCI_BROKEN_STREAMS) && ++ HCC_MAX_PSA(xhci->hcc_params) >= 4) + xhci->shared_hcd->can_do_streams = 1; + + /* USB-2 and USB-3 roothubs initialized, allow runtime pm suspend */ +diff --git a/drivers/usb/host/xhci.c b/drivers/usb/host/xhci.c +index 7d02e1b..758bc31 100644 +--- a/drivers/usb/host/xhci.c ++++ b/drivers/usb/host/xhci.c +@@ -3163,7 +3163,8 @@ int xhci_alloc_streams(struct usb_hcd *hcd, struct usb_device *udev, + num_streams); + + /* MaxPSASize value 0 (2 streams) means streams are not supported */ +- if (HCC_MAX_PSA(xhci->hcc_params) < 4) { ++ if ((xhci->quirks & XHCI_BROKEN_STREAMS) || ++ HCC_MAX_PSA(xhci->hcc_params) < 4) { + xhci_dbg(xhci, "xHCI controller does not support streams.\n"); + return -ENOSYS; + } +diff --git a/drivers/usb/host/xhci.h b/drivers/usb/host/xhci.h +index 1411069..88b2958 100644 +--- a/drivers/usb/host/xhci.h ++++ b/drivers/usb/host/xhci.h +@@ -1558,6 +1558,8 @@ struct xhci_hcd { + #define XHCI_PLAT (1 << 16) + #define XHCI_SLOW_SUSPEND (1 << 17) + #define XHCI_SPURIOUS_WAKEUP (1 << 18) ++/* For controllers with a broken beyond repair streams implementation */ ++#define XHCI_BROKEN_STREAMS (1 << 19) + unsigned int num_active_eps; + unsigned int limit_active_eps; + /* There are two roothubs to keep track of bus suspend info for */ +-- +2.0.1 + diff --git a/kernel.spec b/kernel.spec index eafeeac90..b883b7a69 100644 --- a/kernel.spec +++ b/kernel.spec @@ -770,6 +770,15 @@ Patch25123: drm-try-harder-to-avoid-regression-when-merging-mode.patch #CVE-2014-5077 rhbz 1122982 1123696 Patch25124: net-v2-net-sctp-inherit-auth_capable-on-INIT-collisions.patch +#rhbz 1025690 +Patch25125: 0001-ACPI-video-Add-use_native_backlight-quirk-for-HP-Pro.patch + +#rhbz 1123565 +Patch25126: 0001-acpi-video-Add-video.use_native_backlight-1-for-HP-E.patch + +#rhbz 1121288 +Patch25127: 0001-xhci-Blacklist-using-streams-on-the-Etron-EJ168-cont.patch + # END OF PATCH DEFINITIONS %endif @@ -1499,6 +1508,15 @@ ApplyPatch drm-try-harder-to-avoid-regression-when-merging-mode.patch #CVE-2014-5077 rhbz 1122982 1123696 ApplyPatch net-v2-net-sctp-inherit-auth_capable-on-INIT-collisions.patch +#rhbz 1025690 +ApplyPatch 0001-ACPI-video-Add-use_native_backlight-quirk-for-HP-Pro.patch + +#rhbz 1123565 +ApplyPatch 0001-acpi-video-Add-video.use_native_backlight-1-for-HP-E.patch + +#rhbz 1121288 +ApplyPatch 0001-xhci-Blacklist-using-streams-on-the-Etron-EJ168-cont.patch + # END OF PATCH APPLICATIONS %endif @@ -2310,6 +2328,11 @@ fi # ||----w | # || || %changelog +* Mon Jul 28 2014 Hans de Goede +- Add use_native_backlight=1 quirk for HP ProBook 4540s (rhbz#1025690) +- Add use_native_backlight=1 quirk for HP EliteBook 2014 series (rhbz#1123565) +- Blacklist usb bulk streams on Etron EJ168 xhci controllers (rhbz#1121288) + * Mon Jul 28 2014 Josh Boyer - CVE-2014-5077 sctp: fix NULL ptr dereference (rhbz 1122982 1123696)