Contents of /trunk/kernel-magellan/patches-4.8/0100-4.8.1-all-fixes.patch
Parent Directory | Revision Log
Revision 2840 -
(show annotations)
(download)
Tue Nov 22 13:19:11 2016 UTC (7 years, 10 months ago) by niro
File size: 9603 byte(s)
Tue Nov 22 13:19:11 2016 UTC (7 years, 10 months ago) by niro
File size: 9603 byte(s)
-linux-4.8.1
1 | diff --git a/Makefile b/Makefile |
2 | index 80b8671d5c46..75db9f3988f3 100644 |
3 | --- a/Makefile |
4 | +++ b/Makefile |
5 | @@ -1,6 +1,6 @@ |
6 | VERSION = 4 |
7 | PATCHLEVEL = 8 |
8 | -SUBLEVEL = 0 |
9 | +SUBLEVEL = 1 |
10 | EXTRAVERSION = |
11 | NAME = Psychotic Stoned Sheep |
12 | |
13 | diff --git a/arch/arm64/kernel/debug-monitors.c b/arch/arm64/kernel/debug-monitors.c |
14 | index 91fff48d0f57..2751ff9c0934 100644 |
15 | --- a/arch/arm64/kernel/debug-monitors.c |
16 | +++ b/arch/arm64/kernel/debug-monitors.c |
17 | @@ -435,8 +435,10 @@ NOKPROBE_SYMBOL(kernel_active_single_step); |
18 | /* ptrace API */ |
19 | void user_enable_single_step(struct task_struct *task) |
20 | { |
21 | - set_ti_thread_flag(task_thread_info(task), TIF_SINGLESTEP); |
22 | - set_regs_spsr_ss(task_pt_regs(task)); |
23 | + struct thread_info *ti = task_thread_info(task); |
24 | + |
25 | + if (!test_and_set_ti_thread_flag(ti, TIF_SINGLESTEP)) |
26 | + set_regs_spsr_ss(task_pt_regs(task)); |
27 | } |
28 | NOKPROBE_SYMBOL(user_enable_single_step); |
29 | |
30 | diff --git a/drivers/staging/fbtft/fbtft-core.c b/drivers/staging/fbtft/fbtft-core.c |
31 | index 0c1a77cafe14..4c281df16816 100644 |
32 | --- a/drivers/staging/fbtft/fbtft-core.c |
33 | +++ b/drivers/staging/fbtft/fbtft-core.c |
34 | @@ -391,11 +391,11 @@ static void fbtft_update_display(struct fbtft_par *par, unsigned start_line, |
35 | |
36 | if (unlikely(timeit)) { |
37 | ts_end = ktime_get(); |
38 | - if (ktime_to_ns(par->update_time)) |
39 | + if (!ktime_to_ns(par->update_time)) |
40 | par->update_time = ts_start; |
41 | |
42 | - par->update_time = ts_start; |
43 | fps = ktime_us_delta(ts_start, par->update_time); |
44 | + par->update_time = ts_start; |
45 | fps = fps ? 1000000 / fps : 0; |
46 | |
47 | throughput = ktime_us_delta(ts_end, ts_start); |
48 | diff --git a/drivers/usb/class/usbtmc.c b/drivers/usb/class/usbtmc.c |
49 | index 917a55c4480d..ffe9f8875311 100644 |
50 | --- a/drivers/usb/class/usbtmc.c |
51 | +++ b/drivers/usb/class/usbtmc.c |
52 | @@ -141,6 +141,7 @@ static void usbtmc_delete(struct kref *kref) |
53 | struct usbtmc_device_data *data = to_usbtmc_data(kref); |
54 | |
55 | usb_put_dev(data->usb_dev); |
56 | + kfree(data); |
57 | } |
58 | |
59 | static int usbtmc_open(struct inode *inode, struct file *filp) |
60 | @@ -1379,7 +1380,7 @@ static int usbtmc_probe(struct usb_interface *intf, |
61 | |
62 | dev_dbg(&intf->dev, "%s called\n", __func__); |
63 | |
64 | - data = devm_kzalloc(&intf->dev, sizeof(*data), GFP_KERNEL); |
65 | + data = kmalloc(sizeof(*data), GFP_KERNEL); |
66 | if (!data) |
67 | return -ENOMEM; |
68 | |
69 | diff --git a/drivers/usb/misc/legousbtower.c b/drivers/usb/misc/legousbtower.c |
70 | index 7771be3ac178..4dd531ac5a7f 100644 |
71 | --- a/drivers/usb/misc/legousbtower.c |
72 | +++ b/drivers/usb/misc/legousbtower.c |
73 | @@ -898,24 +898,6 @@ static int tower_probe (struct usb_interface *interface, const struct usb_device |
74 | dev->interrupt_in_interval = interrupt_in_interval ? interrupt_in_interval : dev->interrupt_in_endpoint->bInterval; |
75 | dev->interrupt_out_interval = interrupt_out_interval ? interrupt_out_interval : dev->interrupt_out_endpoint->bInterval; |
76 | |
77 | - /* we can register the device now, as it is ready */ |
78 | - usb_set_intfdata (interface, dev); |
79 | - |
80 | - retval = usb_register_dev (interface, &tower_class); |
81 | - |
82 | - if (retval) { |
83 | - /* something prevented us from registering this driver */ |
84 | - dev_err(idev, "Not able to get a minor for this device.\n"); |
85 | - usb_set_intfdata (interface, NULL); |
86 | - goto error; |
87 | - } |
88 | - dev->minor = interface->minor; |
89 | - |
90 | - /* let the user know what node this device is now attached to */ |
91 | - dev_info(&interface->dev, "LEGO USB Tower #%d now attached to major " |
92 | - "%d minor %d\n", (dev->minor - LEGO_USB_TOWER_MINOR_BASE), |
93 | - USB_MAJOR, dev->minor); |
94 | - |
95 | /* get the firmware version and log it */ |
96 | result = usb_control_msg (udev, |
97 | usb_rcvctrlpipe(udev, 0), |
98 | @@ -936,6 +918,23 @@ static int tower_probe (struct usb_interface *interface, const struct usb_device |
99 | get_version_reply.minor, |
100 | le16_to_cpu(get_version_reply.build_no)); |
101 | |
102 | + /* we can register the device now, as it is ready */ |
103 | + usb_set_intfdata (interface, dev); |
104 | + |
105 | + retval = usb_register_dev (interface, &tower_class); |
106 | + |
107 | + if (retval) { |
108 | + /* something prevented us from registering this driver */ |
109 | + dev_err(idev, "Not able to get a minor for this device.\n"); |
110 | + usb_set_intfdata (interface, NULL); |
111 | + goto error; |
112 | + } |
113 | + dev->minor = interface->minor; |
114 | + |
115 | + /* let the user know what node this device is now attached to */ |
116 | + dev_info(&interface->dev, "LEGO USB Tower #%d now attached to major " |
117 | + "%d minor %d\n", (dev->minor - LEGO_USB_TOWER_MINOR_BASE), |
118 | + USB_MAJOR, dev->minor); |
119 | |
120 | exit: |
121 | return retval; |
122 | diff --git a/drivers/usb/serial/cp210x.c b/drivers/usb/serial/cp210x.c |
123 | index 4d6a5c672a3d..54a4de0efdba 100644 |
124 | --- a/drivers/usb/serial/cp210x.c |
125 | +++ b/drivers/usb/serial/cp210x.c |
126 | @@ -118,6 +118,7 @@ static const struct usb_device_id id_table[] = { |
127 | { USB_DEVICE(0x10C4, 0x8411) }, /* Kyocera GPS Module */ |
128 | { USB_DEVICE(0x10C4, 0x8418) }, /* IRZ Automation Teleport SG-10 GSM/GPRS Modem */ |
129 | { USB_DEVICE(0x10C4, 0x846E) }, /* BEI USB Sensor Interface (VCP) */ |
130 | + { USB_DEVICE(0x10C4, 0x8470) }, /* Juniper Networks BX Series System Console */ |
131 | { USB_DEVICE(0x10C4, 0x8477) }, /* Balluff RFID */ |
132 | { USB_DEVICE(0x10C4, 0x84B6) }, /* Starizona Hyperion */ |
133 | { USB_DEVICE(0x10C4, 0x85EA) }, /* AC-Services IBUS-IF */ |
134 | diff --git a/drivers/usb/usbip/vudc_rx.c b/drivers/usb/usbip/vudc_rx.c |
135 | index 344bd9473475..e429b59f6f8a 100644 |
136 | --- a/drivers/usb/usbip/vudc_rx.c |
137 | +++ b/drivers/usb/usbip/vudc_rx.c |
138 | @@ -142,7 +142,7 @@ static int v_recv_cmd_submit(struct vudc *udc, |
139 | urb_p->urb->status = -EINPROGRESS; |
140 | |
141 | /* FIXME: more pipe setup to please usbip_common */ |
142 | - urb_p->urb->pipe &= ~(11 << 30); |
143 | + urb_p->urb->pipe &= ~(3 << 30); |
144 | switch (urb_p->ep->type) { |
145 | case USB_ENDPOINT_XFER_BULK: |
146 | urb_p->urb->pipe |= (PIPE_BULK << 30); |
147 | diff --git a/include/linux/swap.h b/include/linux/swap.h |
148 | index 4a529c984a3f..e1d761463243 100644 |
149 | --- a/include/linux/swap.h |
150 | +++ b/include/linux/swap.h |
151 | @@ -257,7 +257,7 @@ static inline void workingset_node_pages_inc(struct radix_tree_node *node) |
152 | |
153 | static inline void workingset_node_pages_dec(struct radix_tree_node *node) |
154 | { |
155 | - VM_BUG_ON(!workingset_node_pages(node)); |
156 | + VM_WARN_ON_ONCE(!workingset_node_pages(node)); |
157 | node->count--; |
158 | } |
159 | |
160 | @@ -273,7 +273,7 @@ static inline void workingset_node_shadows_inc(struct radix_tree_node *node) |
161 | |
162 | static inline void workingset_node_shadows_dec(struct radix_tree_node *node) |
163 | { |
164 | - VM_BUG_ON(!workingset_node_shadows(node)); |
165 | + VM_WARN_ON_ONCE(!workingset_node_shadows(node)); |
166 | node->count -= 1U << RADIX_TREE_COUNT_SHIFT; |
167 | } |
168 | |
169 | diff --git a/sound/pci/hda/patch_conexant.c b/sound/pci/hda/patch_conexant.c |
170 | index 56fefbd85782..ed62748a6d55 100644 |
171 | --- a/sound/pci/hda/patch_conexant.c |
172 | +++ b/sound/pci/hda/patch_conexant.c |
173 | @@ -261,6 +261,7 @@ enum { |
174 | CXT_FIXUP_HP_530, |
175 | CXT_FIXUP_CAP_MIX_AMP_5047, |
176 | CXT_FIXUP_MUTE_LED_EAPD, |
177 | + CXT_FIXUP_HP_SPECTRE, |
178 | }; |
179 | |
180 | /* for hda_fixup_thinkpad_acpi() */ |
181 | @@ -765,6 +766,14 @@ static const struct hda_fixup cxt_fixups[] = { |
182 | .type = HDA_FIXUP_FUNC, |
183 | .v.func = cxt_fixup_mute_led_eapd, |
184 | }, |
185 | + [CXT_FIXUP_HP_SPECTRE] = { |
186 | + .type = HDA_FIXUP_PINS, |
187 | + .v.pins = (const struct hda_pintbl[]) { |
188 | + /* enable NID 0x1d for the speaker on top */ |
189 | + { 0x1d, 0x91170111 }, |
190 | + { } |
191 | + } |
192 | + }, |
193 | }; |
194 | |
195 | static const struct snd_pci_quirk cxt5045_fixups[] = { |
196 | @@ -814,6 +823,7 @@ static const struct snd_pci_quirk cxt5066_fixups[] = { |
197 | SND_PCI_QUIRK(0x1025, 0x0543, "Acer Aspire One 522", CXT_FIXUP_STEREO_DMIC), |
198 | SND_PCI_QUIRK(0x1025, 0x054c, "Acer Aspire 3830TG", CXT_FIXUP_ASPIRE_DMIC), |
199 | SND_PCI_QUIRK(0x1025, 0x054f, "Acer Aspire 4830T", CXT_FIXUP_ASPIRE_DMIC), |
200 | + SND_PCI_QUIRK(0x103c, 0x8174, "HP Spectre x360", CXT_FIXUP_HP_SPECTRE), |
201 | SND_PCI_QUIRK(0x1043, 0x138d, "Asus", CXT_FIXUP_HEADPHONE_MIC_PIN), |
202 | SND_PCI_QUIRK(0x152d, 0x0833, "OLPC XO-1.5", CXT_FIXUP_OLPC_XO), |
203 | SND_PCI_QUIRK(0x17aa, 0x20f2, "Lenovo T400", CXT_PINCFG_LENOVO_TP410), |
204 | diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c |
205 | index 575cefd8cc4a..bd481ac23faf 100644 |
206 | --- a/sound/pci/hda/patch_realtek.c |
207 | +++ b/sound/pci/hda/patch_realtek.c |
208 | @@ -5806,6 +5806,13 @@ static const struct hda_model_fixup alc269_fixup_models[] = { |
209 | {0x14, 0x90170110}, \ |
210 | {0x15, 0x0221401f} |
211 | |
212 | +#define ALC295_STANDARD_PINS \ |
213 | + {0x12, 0xb7a60130}, \ |
214 | + {0x14, 0x90170110}, \ |
215 | + {0x17, 0x21014020}, \ |
216 | + {0x18, 0x21a19030}, \ |
217 | + {0x21, 0x04211020} |
218 | + |
219 | #define ALC298_STANDARD_PINS \ |
220 | {0x12, 0x90a60130}, \ |
221 | {0x21, 0x03211020} |
222 | @@ -5846,6 +5853,10 @@ static const struct snd_hda_pin_quirk alc269_pin_fixup_tbl[] = { |
223 | {0x14, 0x90170120}, |
224 | {0x21, 0x02211030}), |
225 | SND_HDA_PIN_QUIRK(0x10ec0255, 0x1028, "Dell", ALC255_FIXUP_DELL1_MIC_NO_PRESENCE, |
226 | + {0x14, 0x90170110}, |
227 | + {0x1b, 0x02011020}, |
228 | + {0x21, 0x0221101f}), |
229 | + SND_HDA_PIN_QUIRK(0x10ec0255, 0x1028, "Dell", ALC255_FIXUP_DELL1_MIC_NO_PRESENCE, |
230 | {0x14, 0x90170130}, |
231 | {0x1b, 0x01014020}, |
232 | {0x21, 0x0221103f}), |
233 | @@ -5911,6 +5922,10 @@ static const struct snd_hda_pin_quirk alc269_pin_fixup_tbl[] = { |
234 | {0x14, 0x90170120}, |
235 | {0x21, 0x02211030}), |
236 | SND_HDA_PIN_QUIRK(0x10ec0256, 0x1028, "Dell", ALC255_FIXUP_DELL1_MIC_NO_PRESENCE, |
237 | + {0x12, 0xb7a60130}, |
238 | + {0x14, 0x90170110}, |
239 | + {0x21, 0x02211020}), |
240 | + SND_HDA_PIN_QUIRK(0x10ec0256, 0x1028, "Dell", ALC255_FIXUP_DELL1_MIC_NO_PRESENCE, |
241 | ALC256_STANDARD_PINS), |
242 | SND_HDA_PIN_QUIRK(0x10ec0280, 0x103c, "HP", ALC280_FIXUP_HP_GPIO4, |
243 | {0x12, 0x90a60130}, |
244 | @@ -6021,6 +6036,8 @@ static const struct snd_hda_pin_quirk alc269_pin_fixup_tbl[] = { |
245 | SND_HDA_PIN_QUIRK(0x10ec0293, 0x1028, "Dell", ALC293_FIXUP_DELL1_MIC_NO_PRESENCE, |
246 | ALC292_STANDARD_PINS, |
247 | {0x13, 0x90a60140}), |
248 | + SND_HDA_PIN_QUIRK(0x10ec0295, 0x1028, "Dell", ALC269_FIXUP_DELL1_MIC_NO_PRESENCE, |
249 | + ALC295_STANDARD_PINS), |
250 | SND_HDA_PIN_QUIRK(0x10ec0298, 0x1028, "Dell", ALC298_FIXUP_DELL1_MIC_NO_PRESENCE, |
251 | ALC298_STANDARD_PINS, |
252 | {0x17, 0x90170110}), |