From: Greg Kroah-Hartman Date: Sat, 27 Jun 2015 00:57:08 +0000 (-0700) Subject: 4.1-stable patches X-Git-Tag: v3.10.82~2 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=3630cc5dde4b80c76a7fa83fa5f0f2b0f4c81a34;p=thirdparty%2Fkernel%2Fstable-queue.git 4.1-stable patches added patches: cdc-acm-add-support-of-atol-fprint-fiscal-printers.patch --- diff --git a/queue-4.1/cdc-acm-add-support-of-atol-fprint-fiscal-printers.patch b/queue-4.1/cdc-acm-add-support-of-atol-fprint-fiscal-printers.patch new file mode 100644 index 00000000000..43da5f66bc3 --- /dev/null +++ b/queue-4.1/cdc-acm-add-support-of-atol-fprint-fiscal-printers.patch @@ -0,0 +1,52 @@ +From 15bf722e6f6c0b884521a0363204532e849deb7f Mon Sep 17 00:00:00 2001 +From: Alexey Sokolov +Date: Tue, 2 Jun 2015 11:49:30 +0300 +Subject: cdc-acm: Add support of ATOL FPrint fiscal printers + +From: Alexey Sokolov + +commit 15bf722e6f6c0b884521a0363204532e849deb7f upstream. + +ATOL FPrint fiscal printers require usb_clear_halt to be executed +to work properly. Add quirk to fix the issue. + +Signed-off-by: Alexey Sokolov +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/usb/class/cdc-acm.c | 9 +++++++++ + drivers/usb/class/cdc-acm.h | 1 + + 2 files changed, 10 insertions(+) + +--- a/drivers/usb/class/cdc-acm.c ++++ b/drivers/usb/class/cdc-acm.c +@@ -1477,6 +1477,11 @@ skip_countries: + goto alloc_fail8; + } + ++ if (quirks & CLEAR_HALT_CONDITIONS) { ++ usb_clear_halt(usb_dev, usb_rcvbulkpipe(usb_dev, epread->bEndpointAddress)); ++ usb_clear_halt(usb_dev, usb_sndbulkpipe(usb_dev, epwrite->bEndpointAddress)); ++ } ++ + return 0; + alloc_fail8: + if (acm->country_codes) { +@@ -1756,6 +1761,10 @@ static const struct usb_device_id acm_id + .driver_info = NO_UNION_NORMAL, /* reports zero length descriptor */ + }, + ++ { USB_DEVICE(0x2912, 0x0001), /* ATOL FPrint */ ++ .driver_info = CLEAR_HALT_CONDITIONS, ++ }, ++ + /* Nokia S60 phones expose two ACM channels. The first is + * a modem and is picked up by the standard AT-command + * information below. The second is 'vendor-specific' but +--- a/drivers/usb/class/cdc-acm.h ++++ b/drivers/usb/class/cdc-acm.h +@@ -133,3 +133,4 @@ struct acm { + #define NO_DATA_INTERFACE BIT(4) + #define IGNORE_DEVICE BIT(5) + #define QUIRK_CONTROL_LINE_STATE BIT(6) ++#define CLEAR_HALT_CONDITIONS BIT(7) diff --git a/queue-4.1/series b/queue-4.1/series index 8553f1080ec..c835a04c123 100644 --- a/queue-4.1/series +++ b/queue-4.1/series @@ -8,3 +8,4 @@ bluetooth-ath3k-add-support-of-04ca-300d-ar3012-device.patch ath3k-add-support-of-0489-e076-ar3012-device.patch ath3k-add-support-of-13d3-3474-ar3012-device.patch b43-fix-support-for-14e4-4321-pci-dev-with-bcm4321-chipset.patch +cdc-acm-add-support-of-atol-fprint-fiscal-printers.patch