Magellan Linux

Contents of /trunk/kernel-magellan/patches-4.8/0100-4.8.1-all-fixes.patch

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2840 - (show annotations) (download)
Tue Nov 22 13:19:11 2016 UTC (7 years, 5 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}),