4.1.1-stable review
Greg Kroah-Hartman
maintainercover 4.1.1-stable review
This is the start of the stable review cycle for the 4.1.1 release. There are 11 patches in this series, all will be posted as a response to this one. If anyone has any issues with these being applied, please let me know.
Responses should be made by Mon Jun 29 01:08:53 UTC 2015. Anything received after that time might be too late.
The whole patch series can be found in one patch at:
kernel.org/pub/linux/kernel/v4.x/stable-review/patch-4.1.1-rc1.gz
and the diffstat can be found below.
thanks,
greg k-h
-------------
Pseudo-Shortlog of commits:
Greg Kroah-Hartman <[email protected]>
Linux 4.1.1-rc1
Alexey Sokolov <[email protected]>
cdc-acm: Add support of ATOL FPrint fiscal printers
Rafał Miłecki <[email protected]>
b43: fix support for 14e4:4321 PCI dev with BCM4321 chipset
Dmitry Tunin <[email protected]>
ath3k: add support of 13d3:3474 AR3012 device
Dmitry Tunin <[email protected]>
ath3k: Add support of 0489:e076 AR3012 device
Dmitry Tunin <[email protected]>
Bluetooth: ath3k: Add support of 04ca:300d AR3012 device
Lukas Wunner <[email protected]>
perf tools: Fix build breakage if prefix= is specified
Palik, Imre <[email protected]>
perf/x86: Honor the architectural performance monitoring version
Alexander Shishkin <[email protected]>
perf/x86/intel/bts: Fix DS area sharing with x86_pmu events
Andi Kleen <[email protected]>
perf/x86: Add more Broadwell model numbers
Oleg Nesterov <[email protected]>
perf: Fix ring_buffer_attach() RCU sync, again
Borislav Petkov <[email protected]>
x86/boot: Fix overflow warning with 32-bit binutils
-------------
Diffstat:
Makefile | 4 +-- arch/x86/kernel/cpu/perf_event.c | 52 +++++++++++++++++++----------- arch/x86/kernel/cpu/perf_event.h | 4 +++ arch/x86/kernel/cpu/perf_event_intel.c | 14 ++++---- arch/x86/kernel/cpu/perf_event_intel_bts.c | 9 ++++++ arch/x86/kernel/head_32.S | 13 ++++++-- drivers/bluetooth/ath3k.c | 6 ++++ drivers/bluetooth/btusb.c | 3 ++ drivers/net/wireless/b43/main.c | 4 +++ drivers/usb/class/cdc-acm.c | 9 ++++++ drivers/usb/class/cdc-acm.h | 1 + kernel/events/core.c | 14 ++++---- tools/build/Makefile.build | 8 ++--- 13 files changed, 100 insertions(+), 41 deletions(-)
Greg Kroah-Hartman
maintainerPATCH 1/11 x86/boot: Fix overflow warning with 32-bit binutils
4.1-stable review patch. If anyone has any objections, please let me know.
------------------
From: Borislav Petkov <[email protected]>
commit 04c17341b42699a5859a8afa05e64ba08a4e5235 upstream.
When building the kernel with 32-bit binutils built with support only for the i386 target, we get the following warning:
arch/x86/kernel/head_32.S:66: Warning: shift count out of range (32 is not between 0 and 31)
The problem is that in that case, binutils' internal type representation is 32-bit wide and the shift range overflows.
In order to fix this, manipulate the shift expression which creates the 4GiB constant to not overflow the shift count.
--- arch/x86/kernel/head_32.S | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-)
arch/x86/kernel/head_32.S +10 -3
@@ -62,9 +62,16 @@ #define PAGE_TABLE_SIZE(pages) ((pages) / PTRS_PER_PGD) #endif -/* Number of possible pages in the lowmem region */ -LOWMEM_PAGES = (((1<<32) - __PAGE_OFFSET) >> PAGE_SHIFT) - +/* + * Number of possible pages in the lowmem region. + * + * We shift 2 by 31 instead of 1 by 32 to the left in order to avoid a + * gas warning about overflowing shift count when gas has been compiled + * with only a host target support using a 32-bit type for internal + * representation. + */ +LOWMEM_PAGES = (((2<<31) - __PAGE_OFFSET) >> PAGE_SHIFT) + /* Enough space to fit pagetables for the low memory linear map */ MAPPING_BEYOND_END = PAGE_TABLE_SIZE(LOWMEM_PAGES) << PAGE_SHIFT
Greg Kroah-Hartman
maintainerPATCH 2/11 perf: Fix ring_buffer_attach() RCU sync, again
In reply to Greg Kroah-Hartman4.1-stable review patch. If anyone has any objections, please let me know.
------------------
From: Oleg Nesterov <[email protected]>
commit 2f993cf093643b98477c421fa2b9a98dcc940323 upstream.
While looking for other users of get_state/cond_sync. I Found ring_buffer_attach() and it looks obviously buggy?
Don't we need to ensure that we have "synchronize" _between_ list_del() and list_add() ?
IOW. Suppose that ring_buffer_attach() preempts right_after get_state_synchronize_rcu() and gp completes before spin_lock().
In this case cond_synchronize_rcu() does nothing and we reuse ->rb_entry without waiting for gp in between?
It also moves the ->rcu_pending check under "if (rb)", to make it more readable imo.
--- kernel/events/core.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-)
kernel/events/core.c +7 -7
@@ -4331,20 +4331,20 @@ static void ring_buffer_attach(struct peWARN_ON_ONCE (event->rcu_pending); old_rb = event->rb; - event->rcu_batches =get_state_synchronize_rcu (); - event->rcu_pending =1 ; -spin_lock_irqsave (&old_rb->event_lock, flags);list_del_rcu (&event->rb_entry);spin_unlock_irqrestore (&old_rb->event_lock, flags); - } -if (event->rcu_pending && rb) { -cond_synchronize_rcu (event->rcu_batches); - event->rcu_pending =0 ; + event->rcu_batches =get_state_synchronize_rcu (); + event->rcu_pending =1 ; }if (rb) { +if (event->rcu_pending) { +cond_synchronize_rcu (event->rcu_batches); + event->rcu_pending =0 ; + } +spin_lock_irqsave (&rb->event_lock, flags);list_add_rcu (&event->rb_entry, &rb->event_list);spin_unlock_irqrestore (&rb->event_lock, flags);
Greg Kroah-Hartman
maintainerPATCH 3/11 perf/x86: Add more Broadwell model numbers
In reply to Greg Kroah-Hartman4.1-stable review patch. If anyone has any objections, please let me know.
------------------
From: Andi Kleen <[email protected]>
commit 4b36f1a4139c9284df74c0f5d7655603d67807df upstream.
This patch adds additional model numbers for Broadwell to perf. Support for Broadwell with Iris Pro (Intel Core i7-57xxC) and support for Broadwell Server Xeon.
--- arch/x86/kernel/cpu/perf_event_intel.c | 2 ++ 1 file changed, 2 insertions(+)
arch/x86/kernel/cpu/perf_event_intel.c +2 -0
@@ -3253,6 +3253,8 @@ __init int intel_pmu_init(void)case 61 :/* 14nm Broadwell Core-M */ case 86 :/* 14nm Broadwell Xeon D */ +case 71 :/* 14nm Broadwell + GT3e (Intel Iris Pro graphics) */ +case 79 :/* 14nm Broadwell Server */ x86_pmu.late_ack = true;memcpy (hw_cache_event_ids, hsw_hw_cache_event_ids,sizeof (hw_cache_event_ids));memcpy (hw_cache_extra_regs, hsw_hw_cache_extra_regs,sizeof (hw_cache_extra_regs));
Greg Kroah-Hartman
maintainerPATCH 4/11 perf/x86/intel/bts: Fix DS area sharing with x86_pmu events
In reply to Greg Kroah-Hartman4.1-stable review patch. If anyone has any objections, please let me know.
------------------
From: Alexander Shishkin <[email protected]>
commit 6b099d9b040b0f3d0aec05b560d7caf879af5077 upstream.
Currently, the intel_bts driver relies on the DS area allocated by the x86_pmu code in its event_init() path, which is a bug: creating a BTS event while no x86_pmu events are present results in a NULL pointer dereference.
The same DS area is also used by PEBS sampling, which makes it quite a bit trickier to have a separate one for intel_bts' purposes.
This patch makes intel_bts driver use the same DS allocation and reference counting code as x86_pmu to make sure it is always present when either intel_bts or x86_pmu need it.
--- arch/x86/kernel/cpu/perf_event.c | 52 ++++++++++++++++++----------- arch/x86/kernel/cpu/perf_event.h | 4 ++ arch/x86/kernel/cpu/perf_event_intel_bts.c | 9 +++++ 3 files changed, 46 insertions(+), 19 deletions(-)
arch/x86/kernel/cpu/perf_event.c +33 -19
@@ -270,11 +270,7 @@ msr_fail:static void hw_perf_event_destroy (struct perf_event *event) { -if (atomic_dec_and_mutex_lock (&active_events, &pmc_reserve_mutex)) { -release_pmc_hardware (); -release_ds_buffers (); -mutex_unlock (&pmc_reserve_mutex); - } +x86_release_hardware (); }void hw_perf_lbr_event_destroy (struct perf_event *event)
@@ -324,6 +320,35 @@ set_ext_hw_attr(struct hw_perf_event *hwreturn x86_pmu_extra_regs (val, event); } +int x86_reserve_hardware (void ) +{ +int err =0 ; + +if (!atomic_inc_not_zero (&active_events)) { +mutex_lock (&pmc_reserve_mutex); +if (atomic_read (&active_events) ==0 ) { +if (!reserve_pmc_hardware ()) + err = -EBUSY ; +else +reserve_ds_buffers (); + } +if (!err) +atomic_inc (&active_events); +mutex_unlock (&pmc_reserve_mutex); + } + +return err; +} + +void x86_release_hardware (void ) +{ +if (atomic_dec_and_mutex_lock (&active_events, &pmc_reserve_mutex)) { +release_pmc_hardware (); +release_ds_buffers (); +mutex_unlock (&pmc_reserve_mutex); + } +} +/* * Check if we can create event of a certain type (that no conflicting events * are present).
@@ -336,9 +361,10 @@ int x86_add_exclusive(unsigned int what)return 0 ;mutex_lock (&pmc_reserve_mutex); -for (i =0 ; i <ARRAY_SIZE (x86_pmu.lbr_exclusive); i++) +for (i =0 ; i <ARRAY_SIZE (x86_pmu.lbr_exclusive); i++) {if (i != what &&atomic_read (&x86_pmu.lbr_exclusive[i])) goto out; + }atomic_inc (&x86_pmu.lbr_exclusive[what]); ret =0 ;
@@ -527,19 +553,7 @@ static int __x86_pmu_event_init(struct pif (!x86_pmu_initialized ())return -ENODEV ; - err =0 ; -if (!atomic_inc_not_zero (&active_events)) { -mutex_lock (&pmc_reserve_mutex); -if (atomic_read (&active_events) ==0 ) { -if (!reserve_pmc_hardware ()) - err = -EBUSY ; -else -reserve_ds_buffers (); - } -if (!err) -atomic_inc (&active_events); -mutex_unlock (&pmc_reserve_mutex); - } + err =x86_reserve_hardware ();if (err)return err;
arch/x86/kernel/cpu/perf_event.h +4 -0
@@ -703,6 +703,10 @@ int x86_add_exclusive(unsigned int what)void x86_del_exclusive (unsigned int what); +int x86_reserve_hardware (void ); + +void x86_release_hardware (void ); +void hw_perf_lbr_event_destroy (struct perf_event *event);int x86_setup_perfctr (struct perf_event *event);
arch/x86/kernel/cpu/perf_event_intel_bts.c +9 -0
@@ -483,17 +483,26 @@ static int bts_event_add(struct perf_evestatic void bts_event_destroy (struct perf_event *event) { +x86_release_hardware ();x86_del_exclusive (x86_lbr_exclusive_bts); }static int bts_event_init (struct perf_event *event) { +int ret; +if (event->attr.type != bts_pmu.type)return -ENOENT ;if (x86_add_exclusive (x86_lbr_exclusive_bts))return -EBUSY ; + ret =x86_reserve_hardware (); +if (ret) { +x86_del_exclusive (x86_lbr_exclusive_bts); +return ret; + } + event->destroy = bts_event_destroy;return 0 ;
Greg Kroah-Hartman
maintainerPATCH 5/11 perf/x86: Honor the architectural performance monitoring version
In reply to Greg Kroah-Hartman4.1-stable review patch. If anyone has any objections, please let me know.
------------------
From: "Palik, Imre" <[email protected]>
commit 2c33645d366d13b969d936b68b9f4875b1fdddea upstream.
Architectural performance monitoring, version 1, doesn't support fixed counters.
Currently, even if a hypervisor advertises support for architectural performance monitoring version 1, perf may still try to use the fixed counters, as the constraints are set up based on the CPU model.
This patch ensures that perf honors the architectural performance monitoring version returned by CPUID, and it only uses the fixed counters for version 2 and above.
(Some of the ideas in this patch came from Peter Zijlstra.)
--- arch/x86/kernel/cpu/perf_event_intel.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-)
arch/x86/kernel/cpu/perf_event_intel.c +6 -6
@@ -3324,13 +3324,13 @@ __init int intel_pmu_init(void)* counter, so do not extend mask to generic counters */ for_each_event_constraint (c, x86_pmu.event_constraints) { -if (c->cmask !=FIXED_EVENT_FLAGS - || c->idxmsk64 ==INTEL_PMC_MSK_FIXED_REF_CYCLES ) { -continue ; +if (c->cmask ==FIXED_EVENT_FLAGS + && c->idxmsk64 !=INTEL_PMC_MSK_FIXED_REF_CYCLES ) { + c->idxmsk64 |= (1ULL << x86_pmu.num_counters) -1 ; } - - c->idxmsk64 |= (1ULL << x86_pmu.num_counters) -1 ; - c->weight += x86_pmu.num_counters; + c->idxmsk64 &= + ~(~0UL << (INTEL_PMC_IDX_FIXED + x86_pmu.num_counters_fixed)); + c->weight =hweight64 (c->idxmsk64); } }
Greg Kroah-Hartman
maintainerPATCH 6/11 perf tools: Fix build breakage if prefix= is specified
In reply to Greg Kroah-Hartman4.1-stable review patch. If anyone has any objections, please let me know.
------------------
From: Lukas Wunner <[email protected]>
commit 75e84ab906ef8935cff3df3d8929f1bafea81599 upstream.
Invoking Makefile.perf with prefix= breaks the build since Makefile.perf hands that variable down to Makefile.build where it overrides
prefix := $(subst ./,,$(OUTPUT)$(dir)/)
leading to errors like this:
No rule to make target '/usrabspath.o', needed by '/usrlibperf-in.o'
--- tools/build/Makefile.build | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-)
tools/build/Makefile.build +4 -4
@@ -94,12 +94,12 @@ obj-y := $(patsubst %/, %/$(obj)- subdir-obj-y := $(filter %/$(obj)-in.o, $(obj-y)) # '$(OUTPUT)/dir' prefix to all objects -prefix := $(subst ./,,$(OUTPUT)$(dir)/) -obj-y := $(addprefix $(prefix),$(obj-y)) -subdir-obj-y := $(addprefix $(prefix),$(subdir-obj-y)) +objprefix := $(subst ./,,$(OUTPUT)$(dir)/) +obj-y := $(addprefix $(objprefix),$(obj-y)) +subdir-obj-y := $(addprefix $(objprefix),$(subdir-obj-y)) # Final '$(obj)-in.o' object -in-target := $(prefix)$(obj)-in.o +in-target := $(objprefix)$(obj)-in.o PHONY += $(subdir-y)
Greg Kroah-Hartman
maintainerPATCH 7/11 Bluetooth: ath3k: Add support of 04ca:300d AR3012 device
In reply to Greg Kroah-Hartman4.1-stable review patch. If anyone has any objections, please let me know.
------------------
From: Dmitry Tunin <[email protected]>
commit 7e730c7f3d1f39c25cf5f7cf70c0ff4c28d7bec7 upstream.
This device requires new firmware files
AthrBT_0x11020100.dfu and ramps_0x11020100_40.dfu added to/lib/firmware/ar3k/ that are not included in linux-firmware yet.
T: Bus=02 Lev=01 Prnt=01 Port=04 Cnt=03 Dev#= 5 Spd=12 MxCh= 0
D: Ver= 1.10 Cls=e0(wlcon) Sub=01 Prot=01 MxPS=64 #Cfgs= 1
P: Vendor=04ca ProdID=300d Rev= 0.01
C:* #Ifs= 2 Cfg#= 1 Atr=e0 MxPwr=100mA
I:* If#= 0 Alt= 0 #EPs= 3 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
E: Ad=81(I) Atr=03(Int.) MxPS= 16 Ivl=1ms
E: Ad=82(I) Atr=02(Bulk) MxPS= 64 Ivl=0ms
E: Ad=02(O) Atr=02(Bulk) MxPS= 64 Ivl=0ms
I:* If#= 1 Alt= 0 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
E: Ad=83(I) Atr=01(Isoc) MxPS= 0 Ivl=1ms
E: Ad=03(O) Atr=01(Isoc) MxPS= 0 Ivl=1ms
I: If#= 1 Alt= 1 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
E: Ad=83(I) Atr=01(Isoc) MxPS= 9 Ivl=1ms
E: Ad=03(O) Atr=01(Isoc) MxPS= 9 Ivl=1ms
I: If#= 1 Alt= 2 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
E: Ad=83(I) Atr=01(Isoc) MxPS= 17 Ivl=1ms
E: Ad=03(O) Atr=01(Isoc) MxPS= 17 Ivl=1ms
I: If#= 1 Alt= 3 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
E: Ad=83(I) Atr=01(Isoc) MxPS= 25 Ivl=1ms
E: Ad=03(O) Atr=01(Isoc) MxPS= 25 Ivl=1ms
I: If#= 1 Alt= 4 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
E: Ad=83(I) Atr=01(Isoc) MxPS= 33 Ivl=1ms
E: Ad=03(O) Atr=01(Isoc) MxPS= 33 Ivl=1ms
I: If#= 1 Alt= 5 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
E: Ad=83(I) Atr=01(Isoc) MxPS= 49 Ivl=1ms
E: Ad=03(O) Atr=01(Isoc) MxPS= 49 Ivl=1ms
--- drivers/bluetooth/ath3k.c | 2 ++ drivers/bluetooth/btusb.c | 1 + 2 files changed, 3 insertions(+)
drivers/bluetooth/ath3k.c +2 -0
@@ -88,6 +88,7 @@ static const struct usb_device_id ath3k_ { USB_DEVICE(0x04CA, 0x3007) }, { USB_DEVICE(0x04CA, 0x3008) }, { USB_DEVICE(0x04CA, 0x300b) }, + { USB_DEVICE(0x04CA, 0x300d) }, { USB_DEVICE(0x04CA, 0x300f) }, { USB_DEVICE(0x04CA, 0x3010) }, { USB_DEVICE(0x0930, 0x0219) },
@@ -145,6 +146,7 @@ static const struct usb_device_id ath3k_ { USB_DEVICE(0x04ca, 0x3007), .driver_info = BTUSB_ATH3012 }, { USB_DEVICE(0x04ca, 0x3008), .driver_info = BTUSB_ATH3012 }, { USB_DEVICE(0x04ca, 0x300b), .driver_info = BTUSB_ATH3012 }, + { USB_DEVICE(0x04ca, 0x300d), .driver_info = BTUSB_ATH3012 }, { USB_DEVICE(0x04ca, 0x300f), .driver_info = BTUSB_ATH3012 }, { USB_DEVICE(0x04ca, 0x3010), .driver_info = BTUSB_ATH3012 }, { USB_DEVICE(0x0930, 0x0219), .driver_info = BTUSB_ATH3012 },
drivers/bluetooth/btusb.c +1 -0
@@ -186,6 +186,7 @@ static const struct usb_device_id blackl { USB_DEVICE(0x04ca, 0x3007), .driver_info = BTUSB_ATH3012 }, { USB_DEVICE(0x04ca, 0x3008), .driver_info = BTUSB_ATH3012 }, { USB_DEVICE(0x04ca, 0x300b), .driver_info = BTUSB_ATH3012 }, + { USB_DEVICE(0x04ca, 0x300d), .driver_info = BTUSB_ATH3012 }, { USB_DEVICE(0x04ca, 0x300f), .driver_info = BTUSB_ATH3012 }, { USB_DEVICE(0x04ca, 0x3010), .driver_info = BTUSB_ATH3012 }, { USB_DEVICE(0x0930, 0x0219), .driver_info = BTUSB_ATH3012 },
Greg Kroah-Hartman
maintainerPATCH 8/11 ath3k: Add support of 0489:e076 AR3012 device
In reply to Greg Kroah-Hartman4.1-stable review patch. If anyone has any objections, please let me know.
------------------
From: Dmitry Tunin <[email protected]>
commit 692c062e7c282164fd7cda68077f79dafd176eaf upstream.
This device requires new firmware files
AthrBT_0x11020100.dfu and ramps_0x11020100_40.dfu added to/lib/firmware/ar3k/ that are not included in linux-firmware yet.
T: Bus=03 Lev=01 Prnt=01 Port=09 Cnt=06 Dev#= 7 Spd=12 MxCh= 0
D: Ver= 1.10 Cls=e0(wlcon) Sub=01 Prot=01 MxPS=64 #Cfgs= 1
P: Vendor=0489 ProdID=e076 Rev= 0.01
C:* #Ifs= 2 Cfg#= 1 Atr=e0 MxPwr=100mA
I:* If#= 0 Alt= 0 #EPs= 3 Cls=e0(wlcon) Sub=01 Prot=01 Driver=(none)
E: Ad=81(I) Atr=03(Int.) MxPS= 16 Ivl=1ms
E: Ad=82(I) Atr=02(Bulk) MxPS= 64 Ivl=0ms
E: Ad=02(O) Atr=02(Bulk) MxPS= 64 Ivl=0ms
I:* If#= 1 Alt= 0 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=(none)
E: Ad=83(I) Atr=01(Isoc) MxPS= 0 Ivl=1ms
E: Ad=03(O) Atr=01(Isoc) MxPS= 0 Ivl=1ms
I: If#= 1 Alt= 1 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=(none)
E: Ad=83(I) Atr=01(Isoc) MxPS= 9 Ivl=1ms
E: Ad=03(O) Atr=01(Isoc) MxPS= 9 Ivl=1ms
I: If#= 1 Alt= 2 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=(none)
E: Ad=83(I) Atr=01(Isoc) MxPS= 17 Ivl=1ms
E: Ad=03(O) Atr=01(Isoc) MxPS= 17 Ivl=1ms
I: If#= 1 Alt= 3 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=(none)
E: Ad=83(I) Atr=01(Isoc) MxPS= 25 Ivl=1ms
E: Ad=03(O) Atr=01(Isoc) MxPS= 25 Ivl=1ms
I: If#= 1 Alt= 4 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=(none)
E: Ad=83(I) Atr=01(Isoc) MxPS= 33 Ivl=1ms
E: Ad=03(O) Atr=01(Isoc) MxPS= 33 Ivl=1ms
I: If#= 1 Alt= 5 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=(none)
E: Ad=83(I) Atr=01(Isoc) MxPS= 49 Ivl=1ms
E: Ad=03(O) Atr=01(Isoc) MxPS= 49 Ivl=1ms
--- drivers/bluetooth/ath3k.c | 2 ++ drivers/bluetooth/btusb.c | 1 + 2 files changed, 3 insertions(+)
drivers/bluetooth/ath3k.c +2 -0
@@ -80,6 +80,7 @@ static const struct usb_device_id ath3k_ { USB_DEVICE(0x0489, 0xe057) }, { USB_DEVICE(0x0489, 0xe056) }, { USB_DEVICE(0x0489, 0xe05f) }, + { USB_DEVICE(0x0489, 0xe076) }, { USB_DEVICE(0x0489, 0xe078) }, { USB_DEVICE(0x04c5, 0x1330) }, { USB_DEVICE(0x04CA, 0x3004) },
@@ -138,6 +139,7 @@ static const struct usb_device_id ath3k_ { USB_DEVICE(0x0489, 0xe056), .driver_info = BTUSB_ATH3012 }, { USB_DEVICE(0x0489, 0xe057), .driver_info = BTUSB_ATH3012 }, { USB_DEVICE(0x0489, 0xe05f), .driver_info = BTUSB_ATH3012 }, + { USB_DEVICE(0x0489, 0xe076), .driver_info = BTUSB_ATH3012 }, { USB_DEVICE(0x0489, 0xe078), .driver_info = BTUSB_ATH3012 }, { USB_DEVICE(0x04c5, 0x1330), .driver_info = BTUSB_ATH3012 }, { USB_DEVICE(0x04ca, 0x3004), .driver_info = BTUSB_ATH3012 },
drivers/bluetooth/btusb.c +1 -0
@@ -178,6 +178,7 @@ static const struct usb_device_id blackl { USB_DEVICE(0x0489, 0xe056), .driver_info = BTUSB_ATH3012 }, { USB_DEVICE(0x0489, 0xe057), .driver_info = BTUSB_ATH3012 }, { USB_DEVICE(0x0489, 0xe05f), .driver_info = BTUSB_ATH3012 }, + { USB_DEVICE(0x0489, 0xe076), .driver_info = BTUSB_ATH3012 }, { USB_DEVICE(0x0489, 0xe078), .driver_info = BTUSB_ATH3012 }, { USB_DEVICE(0x04c5, 0x1330), .driver_info = BTUSB_ATH3012 }, { USB_DEVICE(0x04ca, 0x3004), .driver_info = BTUSB_ATH3012 },
Greg Kroah-Hartman
maintainerPATCH 9/11 ath3k: add support of 13d3:3474 AR3012 device
In reply to Greg Kroah-Hartman4.1-stable review patch. If anyone has any objections, please let me know.
------------------
From: Dmitry Tunin <[email protected]>
commit 0d0cef6183aec0fb6d0c9f00a09ff51ee086bbe2 upstream.
This device requires new firmware files
AthrBT_0x11020100.dfu and ramps_0x11020100_40.dfu added to/lib/firmware/ar3k/ that are not included in linux-firmware yet.
T: Bus=01 Lev=01 Prnt=01 Port=04 Cnt=01 Dev#= 4 Spd=12 MxCh= 0
D: Ver= 1.10 Cls=e0(wlcon) Sub=01 Prot=01 MxPS=64 #Cfgs= 1
P: Vendor=13d3 ProdID=3474 Rev=00.01
C: #Ifs= 2 Cfg#= 1 Atr=e0 MxPwr=100mA
I: If#= 0 Alt= 0 #EPs= 3 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
I: If#= 1 Alt= 0 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
--- drivers/bluetooth/ath3k.c | 2 ++ drivers/bluetooth/btusb.c | 1 + 2 files changed, 3 insertions(+)
drivers/bluetooth/ath3k.c +2 -0
@@ -115,6 +115,7 @@ static const struct usb_device_id ath3k_ { USB_DEVICE(0x13d3, 0x3408) }, { USB_DEVICE(0x13d3, 0x3423) }, { USB_DEVICE(0x13d3, 0x3432) }, + { USB_DEVICE(0x13d3, 0x3474) },/* Atheros AR5BBU12 with sflash firmware */ { USB_DEVICE(0x0489, 0xE02C) },
@@ -174,6 +175,7 @@ static const struct usb_device_id ath3k_ { USB_DEVICE(0x13d3, 0x3408), .driver_info = BTUSB_ATH3012 }, { USB_DEVICE(0x13d3, 0x3423), .driver_info = BTUSB_ATH3012 }, { USB_DEVICE(0x13d3, 0x3432), .driver_info = BTUSB_ATH3012 }, + { USB_DEVICE(0x13d3, 0x3474), .driver_info = BTUSB_ATH3012 }, /* Atheros AR5BBU22 with sflash firmware */ { USB_DEVICE(0x0489, 0xE036), .driver_info = BTUSB_ATH3012 },
drivers/bluetooth/btusb.c +1 -0
@@ -213,6 +213,7 @@ static const struct usb_device_id blackl { USB_DEVICE(0x13d3, 0x3408), .driver_info = BTUSB_ATH3012 }, { USB_DEVICE(0x13d3, 0x3423), .driver_info = BTUSB_ATH3012 }, { USB_DEVICE(0x13d3, 0x3432), .driver_info = BTUSB_ATH3012 }, + { USB_DEVICE(0x13d3, 0x3474), .driver_info = BTUSB_ATH3012 }, /* Atheros AR5BBU12 with sflash firmware */ { USB_DEVICE(0x0489, 0xe02c), .driver_info = BTUSB_IGNORE },
Greg Kroah-Hartman
maintainerPATCH 11/11 cdc-acm: Add support of ATOL FPrint fiscal printers
In reply to Greg Kroah-Hartman4.1-stable review patch. If anyone has any objections, please let me know.
------------------
From: Alexey Sokolov <[email protected]>
commit 15bf722e6f6c0b884521a0363204532e849deb7f upstream.
ATOL FPrint fiscal printers require usb_clear_halt to be executed to work properly. Add quirk to fix the issue.
--- drivers/usb/class/cdc-acm.c | 9 +++++++++ drivers/usb/class/cdc-acm.h | 1 + 2 files changed, 10 insertions(+)
drivers/usb/class/cdc-acm.c +9 -0
@@ -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
drivers/usb/class/cdc-acm.h +1 -0
@@ -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)
Quoted 8 lines · Greg Kroah-Hartman
This is the start of the stable review cycle for the 4.1.1 release. There are 11 patches in this series, all will be posted as a response to this one. If anyone has any issues with these being applied, please let me know.
Responses should be made by Mon Jun 29 01:08:53 UTC 2015. Anything received after that time might be too late.
Quoted 8 lines
The whole patch series can be found in one patch at:
kernel.org/pub/linux/kernel/v4.x/stable-review/patch-4.1.1-rc1.gzand the diffstat can be found below.
thanks,
greg k-h
Compiled and booted on my test system. No dmesg regressions.
thanks,
-- Shuah
Signature · 5 lines
Shuah Khan Sr. Linux Kernel Developer Open Source Innovation Group Samsung Research America (Silicon Valley) [email protected] | (970) 217-8978
Greg Kroah-Hartman
maintainerQuoted 13 lines · Shuah Khan
Quoted 12 lines · Greg Kroah-Hartman
This is the start of the stable review cycle for the 4.1.1 release. There are 11 patches in this series, all will be posted as a response to this one. If anyone has any issues with these being applied, please let me know.
Responses should be made by Mon Jun 29 01:08:53 UTC 2015. Anything received after that time might be too late.
The whole patch series can be found in one patch at:
kernel.org/pub/linux/kernel/v4.x/stable-review/patch-4.1.1-rc1.gzand the diffstat can be found below.
Quoted 6 lines
Quoted 4 lines
thanks,
greg k-h
Compiled and booted on my test system. No dmesg regressions.
Thanks for testing all of these and letting me know.
greg k-h
Quoted 8 lines · Greg Kroah-Hartman
This is the start of the stable review cycle for the 4.1.1 release. There are 11 patches in this series, all will be posted as a response to this one. If anyone has any issues with these being applied, please let me know.
Responses should be made by Mon Jun 29 01:08:53 UTC 2015. Anything received after that time might be too late.
Build results:
total: 124 pass: 124 fail: 0 Qemu test results: total: 31 pass: 31 fail: 0
Details are available at http://server.roeck-us.net:8010/builders.
Guenter
Greg Kroah-Hartman
maintainerQuoted 10 lines · Guenter Roeck
Quoted 8 lines · Greg Kroah-Hartman
This is the start of the stable review cycle for the 4.1.1 release. There are 11 patches in this series, all will be posted as a response to this one. If anyone has any issues with these being applied, please let me know.
Responses should be made by Mon Jun 29 01:08:53 UTC 2015. Anything received after that time might be too late.
Quoted 6 lines
Build results:
total: 124 pass: 124 fail: 0 Qemu test results: total: 31 pass: 31 fail: 0Details are available at http://server.roeck-us.net:8010/builders.
Yeah, I didn't break anything!
thanks for reporting all of these for all 4 trees, much appreciated.
greg k-h
Quoted 7 lines · Greg Kroah-Hartman
This is the start of the stable review cycle for the 4.1.1 release. There are 11 patches in this series, all will be posted as a response to this one. If anyone has any issues with these being applied, please let me know.
Responses should be made by Mon Jun 29 01:08:53 UTC 2015. Anything received after that time might be too late.
Compiled and booted on x86_32. No errors in dmesg.
regards
sudip
Greg Kroah-Hartman
maintainerQuoted 9 lines · Sudip Mukherjee
Quoted 7 lines · Greg Kroah-Hartman
This is the start of the stable review cycle for the 4.1.1 release. There are 11 patches in this series, all will be posted as a response to this one. If anyone has any issues with these being applied, please let me know.
Responses should be made by Mon Jun 29 01:08:53 UTC 2015. Anything received after that time might be too late.
Compiled and booted on
x86_32. No errors in dmesg.
Thanks for testing all 4 of these and letting me know.
greg k-h