Magellan Linux

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2840 - (hide annotations) (download)
Tue Nov 22 13:19:11 2016 UTC (7 years, 7 months ago) by niro
File size: 9603 byte(s)
-linux-4.8.1
1 niro 2840 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}),