From: Greg Kroah-Hartman Date: Thu, 17 Sep 2015 05:07:52 +0000 (-0700) Subject: 3.10-stable patches X-Git-Tag: v3.10.89~16 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=6a6586d42a0513d0cf0e604320bcfb9bf9439ae7;p=thirdparty%2Fkernel%2Fstable-queue.git 3.10-stable patches added patches: crypto-ghash-clmulni-specify-context-size-for-ghash-async-algorithm.patch hid-usbhid-fix-the-check-for-hid_reset_pending-in-hid_io_error.patch serial-8250-don-t-bind-to-smsc-ircc-ir-port.patch --- diff --git a/queue-3.10/crypto-ghash-clmulni-specify-context-size-for-ghash-async-algorithm.patch b/queue-3.10/crypto-ghash-clmulni-specify-context-size-for-ghash-async-algorithm.patch new file mode 100644 index 00000000000..a9af931e1fc --- /dev/null +++ b/queue-3.10/crypto-ghash-clmulni-specify-context-size-for-ghash-async-algorithm.patch @@ -0,0 +1,32 @@ +From 71c6da846be478a61556717ef1ee1cea91f5d6a8 Mon Sep 17 00:00:00 2001 +From: Andrey Ryabinin +Date: Thu, 3 Sep 2015 14:32:01 +0300 +Subject: crypto: ghash-clmulni: specify context size for ghash async algorithm + +From: Andrey Ryabinin + +commit 71c6da846be478a61556717ef1ee1cea91f5d6a8 upstream. + +Currently context size (cra_ctxsize) doesn't specified for +ghash_async_alg. Which means it's zero. Thus crypto_create_tfm() +doesn't allocate needed space for ghash_async_ctx, so any +read/write to ctx (e.g. in ghash_async_init_tfm()) is not valid. + +Signed-off-by: Andrey Ryabinin +Signed-off-by: Herbert Xu +Signed-off-by: Greg Kroah-Hartman + +--- + arch/x86/crypto/ghash-clmulni-intel_glue.c | 1 + + 1 file changed, 1 insertion(+) + +--- a/arch/x86/crypto/ghash-clmulni-intel_glue.c ++++ b/arch/x86/crypto/ghash-clmulni-intel_glue.c +@@ -291,6 +291,7 @@ static struct ahash_alg ghash_async_alg + .cra_name = "ghash", + .cra_driver_name = "ghash-clmulni", + .cra_priority = 400, ++ .cra_ctxsize = sizeof(struct ghash_async_ctx), + .cra_flags = CRYPTO_ALG_TYPE_AHASH | CRYPTO_ALG_ASYNC, + .cra_blocksize = GHASH_BLOCK_SIZE, + .cra_type = &crypto_ahash_type, diff --git a/queue-3.10/hid-usbhid-fix-the-check-for-hid_reset_pending-in-hid_io_error.patch b/queue-3.10/hid-usbhid-fix-the-check-for-hid_reset_pending-in-hid_io_error.patch new file mode 100644 index 00000000000..ef8622a7a05 --- /dev/null +++ b/queue-3.10/hid-usbhid-fix-the-check-for-hid_reset_pending-in-hid_io_error.patch @@ -0,0 +1,40 @@ +From 3af4e5a95184d6d3c1c6a065f163faa174a96a1d Mon Sep 17 00:00:00 2001 +From: Don Zickus +Date: Mon, 10 Aug 2015 12:06:53 -0400 +Subject: HID: usbhid: Fix the check for HID_RESET_PENDING in hid_io_error + +From: Don Zickus + +commit 3af4e5a95184d6d3c1c6a065f163faa174a96a1d upstream. + +It was reported that after 10-20 reboots, a usb keyboard plugged +into a docking station would not work unless it was replugged in. + +Using usbmon, it turns out the interrupt URBs were streaming with +callback errors of -71 for some reason. The hid-core.c::hid_io_error was +supposed to retry and then reset, but the reset wasn't really happening. + +The check for HID_NO_BANDWIDTH was inverted. Fix was simple. + +Tested by reporter and locally by me by unplugging a keyboard halfway until I +could recreate a stream of errors but no disconnect. + +Signed-off-by: Don Zickus +Signed-off-by: Jiri Kosina +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/hid/usbhid/hid-core.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/drivers/hid/usbhid/hid-core.c ++++ b/drivers/hid/usbhid/hid-core.c +@@ -180,7 +180,7 @@ static void hid_io_error(struct hid_devi + if (time_after(jiffies, usbhid->stop_retry)) { + + /* Retries failed, so do a port reset unless we lack bandwidth*/ +- if (test_bit(HID_NO_BANDWIDTH, &usbhid->iofl) ++ if (!test_bit(HID_NO_BANDWIDTH, &usbhid->iofl) + && !test_and_set_bit(HID_RESET_PENDING, &usbhid->iofl)) { + + schedule_work(&usbhid->reset_work); diff --git a/queue-3.10/serial-8250-don-t-bind-to-smsc-ircc-ir-port.patch b/queue-3.10/serial-8250-don-t-bind-to-smsc-ircc-ir-port.patch new file mode 100644 index 00000000000..629d7db7159 --- /dev/null +++ b/queue-3.10/serial-8250-don-t-bind-to-smsc-ircc-ir-port.patch @@ -0,0 +1,34 @@ +From ffa34de03bcfbfa88d8352942bc238bb48e94e2d Mon Sep 17 00:00:00 2001 +From: "Maciej S. Szmigiero" +Date: Sun, 2 Aug 2015 23:11:52 +0200 +Subject: serial: 8250: don't bind to SMSC IrCC IR port + +From: "Maciej S. Szmigiero" + +commit ffa34de03bcfbfa88d8352942bc238bb48e94e2d upstream. + +SMSC IrCC SIR/FIR port should not be bound to by +(legacy) serial driver so its own driver (smsc-ircc2) +can bind to it. + +Signed-off-by: Maciej Szmigiero +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/tty/serial/8250/8250_pnp.c | 5 +++++ + 1 file changed, 5 insertions(+) + +--- a/drivers/tty/serial/8250/8250_pnp.c ++++ b/drivers/tty/serial/8250/8250_pnp.c +@@ -365,6 +365,11 @@ static const struct pnp_device_id pnp_de + /* Winbond CIR port, should not be probed. We should keep track + of it to prevent the legacy serial driver from probing it */ + { "WEC1022", CIR_PORT }, ++ /* ++ * SMSC IrCC SIR/FIR port, should not be probed by serial driver ++ * as well so its own driver can bind to it. ++ */ ++ { "SMCF010", CIR_PORT }, + { "", 0 } + }; + diff --git a/queue-3.10/series b/queue-3.10/series index f91a1816706..67ef3a6cd8f 100644 --- a/queue-3.10/series +++ b/queue-3.10/series @@ -8,3 +8,6 @@ usb-symbolserial-use-usb_get_serial_port_data.patch usb-ftdi_sio-added-custom-pid-for-customware-products.patch usb-dwc3-ep0-fix-mem-corruption-on-out-transfers-of-more-than-512-bytes.patch usb-host-ehci-sys-delete-useless-bus_to_hcd-conversion.patch +serial-8250-don-t-bind-to-smsc-ircc-ir-port.patch +crypto-ghash-clmulni-specify-context-size-for-ghash-async-algorithm.patch +hid-usbhid-fix-the-check-for-hid_reset_pending-in-hid_io_error.patch