Skip to content

Commit 92872ff

Browse files
committed
Merge Linux 4.4.253 into 11
Changes in 4.4.253 ASoC: dapm: remove widget from dirty list on free mm/hugetlb: fix potential missing huge page size info ext4: fix bug for rename with RENAME_WHITEOUT ARC: build: add boot_targets to PHONY ethernet: ucc_geth: fix definition and size of ucc_geth_tx_global_pram arch/arc: add copy_user_page() to <asm/page.h> to fix build error on ARC misdn: dsp: select CONFIG_BITREVERSE net: ethernet: fs_enet: Add missing MODULE_LICENSE ACPI: scan: add stub acpi_create_platform_device() for !CONFIG_ACPI ARM: picoxcell: fix missing interrupt-parent properties Input: uinput - avoid FF flush when destroying device dump_common_audit_data(): fix racy accesses to ->d_name NFS: nfs_igrab_and_active must first reference the superblock ext4: fix superblock checksum failure when setting password salt RDMA/usnic: Fix memleak in find_free_vf_and_create_qp_grp mm, slub: consider rest of partial list if acquire_slab() fails net: sunrpc: interpret the return value of kstrtou32 correctly usb: ohci: Make distrust_firmware param default to false iio: buffer: Fix demux update nfsd4: readdirplus shouldn't return parent of export net: cdc_ncm: correct overhead in delayed_ndp_size netxen_nic: fix MSI/MSI-x interrupts rndis_host: set proper input size for OID_GEN_PHYSICAL_MEDIUM request net: dcb: Validate netlink message in DCB handler net: dcb: Accept RTM_GETDCB messages carrying set-like DCB commands net: sit: unregister_netdevice on newlink's error path rxrpc: Fix handling of an unsupported token type in rxrpc_read() net: avoid 32 x truesize under-estimation for tiny skbs spi: cadence: cache reference clock rate during probe Linux 4.4.253
2 parents 0abd698 + fc5470b commit 92872ff

File tree

32 files changed

+124
-43
lines changed

32 files changed

+124
-43
lines changed

Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
VERSION = 4
22
PATCHLEVEL = 4
3-
SUBLEVEL = 252
3+
SUBLEVEL = 253
44
EXTRAVERSION =
55
NAME = Blurry Fish Butt
66

arch/arc/Makefile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -108,6 +108,7 @@ bootpImage: vmlinux
108108

109109
boot_targets += uImage uImage.bin uImage.gz
110110

111+
PHONY += $(boot_targets)
111112
$(boot_targets): vmlinux
112113
$(Q)$(MAKE) $(build)=$(boot) $(boot)/$@
113114

arch/arc/include/asm/page.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
#define free_user_page(page, addr) free_page(addr)
1818

1919
#define clear_page(paddr) memset((paddr), 0, PAGE_SIZE)
20+
#define copy_user_page(to, from, vaddr, pg) copy_page(to, from)
2021
#define copy_page(to, from) memcpy((to), (from), PAGE_SIZE)
2122

2223
struct vm_area_struct;

arch/arm/boot/dts/picoxcell-pc3x2.dtsi

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,18 +54,21 @@
5454
emac: gem@30000 {
5555
compatible = "cadence,gem";
5656
reg = <0x30000 0x10000>;
57+
interrupt-parent = <&vic0>;
5758
interrupts = <31>;
5859
};
5960

6061
dmac1: dmac@40000 {
6162
compatible = "snps,dw-dmac";
6263
reg = <0x40000 0x10000>;
64+
interrupt-parent = <&vic0>;
6365
interrupts = <25>;
6466
};
6567

6668
dmac2: dmac@50000 {
6769
compatible = "snps,dw-dmac";
6870
reg = <0x50000 0x10000>;
71+
interrupt-parent = <&vic0>;
6972
interrupts = <26>;
7073
};
7174

@@ -243,6 +246,7 @@
243246
axi2pico@c0000000 {
244247
compatible = "picochip,axi2pico-pc3x2";
245248
reg = <0xc0000000 0x10000>;
249+
interrupt-parent = <&vic0>;
246250
interrupts = <13 14 15 16 17 18 19 20 21>;
247251
};
248252
};

drivers/iio/industrialio-buffer.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1281,9 +1281,6 @@ static int iio_buffer_update_demux(struct iio_dev *indio_dev,
12811281
indio_dev->masklength,
12821282
in_ind + 1);
12831283
while (in_ind != out_ind) {
1284-
in_ind = find_next_bit(indio_dev->active_scan_mask,
1285-
indio_dev->masklength,
1286-
in_ind + 1);
12871284
ch = iio_find_channel_from_si(indio_dev, in_ind);
12881285
if (ch->scan_type.repeat > 1)
12891286
length = ch->scan_type.storagebits / 8 *
@@ -1292,6 +1289,9 @@ static int iio_buffer_update_demux(struct iio_dev *indio_dev,
12921289
length = ch->scan_type.storagebits / 8;
12931290
/* Make sure we are aligned */
12941291
in_loc = roundup(in_loc, length) + length;
1292+
in_ind = find_next_bit(indio_dev->active_scan_mask,
1293+
indio_dev->masklength,
1294+
in_ind + 1);
12951295
}
12961296
ch = iio_find_channel_from_si(indio_dev, in_ind);
12971297
if (ch->scan_type.repeat > 1)

drivers/infiniband/hw/usnic/usnic_ib_verbs.c

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -180,6 +180,7 @@ find_free_vf_and_create_qp_grp(struct usnic_ib_dev *us_ibdev,
180180

181181
}
182182
usnic_uiom_free_dev_list(dev_list);
183+
dev_list = NULL;
183184
}
184185

185186
if (!found) {
@@ -207,6 +208,8 @@ find_free_vf_and_create_qp_grp(struct usnic_ib_dev *us_ibdev,
207208
spin_unlock(&vf->lock);
208209
if (IS_ERR_OR_NULL(qp_grp)) {
209210
usnic_err("Failed to allocate qp_grp\n");
211+
if (usnic_ib_share_vf)
212+
usnic_uiom_free_dev_list(dev_list);
210213
return ERR_PTR(qp_grp ? PTR_ERR(qp_grp) : -ENOMEM);
211214
}
212215

drivers/input/ff-core.c

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -237,9 +237,15 @@ int input_ff_erase(struct input_dev *dev, int effect_id, struct file *file)
237237
EXPORT_SYMBOL_GPL(input_ff_erase);
238238

239239
/*
240-
* flush_effects - erase all effects owned by a file handle
240+
* input_ff_flush - erase all effects owned by a file handle
241+
* @dev: input device to erase effect from
242+
* @file: purported owner of the effects
243+
*
244+
* This function erases all force-feedback effects associated with
245+
* the given owner from specified device. Note that @file may be %NULL,
246+
* in which case all effects will be erased.
241247
*/
242-
static int flush_effects(struct input_dev *dev, struct file *file)
248+
int input_ff_flush(struct input_dev *dev, struct file *file)
243249
{
244250
struct ff_device *ff = dev->ff;
245251
int i;
@@ -255,6 +261,7 @@ static int flush_effects(struct input_dev *dev, struct file *file)
255261

256262
return 0;
257263
}
264+
EXPORT_SYMBOL_GPL(input_ff_flush);
258265

259266
/**
260267
* input_ff_event() - generic handler for force-feedback events
@@ -343,7 +350,7 @@ int input_ff_create(struct input_dev *dev, unsigned int max_effects)
343350
mutex_init(&ff->mutex);
344351

345352
dev->ff = ff;
346-
dev->flush = flush_effects;
353+
dev->flush = input_ff_flush;
347354
dev->event = input_ff_event;
348355
__set_bit(EV_FF, dev->evbit);
349356

drivers/input/misc/uinput.c

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -230,6 +230,18 @@ static int uinput_dev_erase_effect(struct input_dev *dev, int effect_id)
230230
return uinput_request_submit(udev, &request);
231231
}
232232

233+
static int uinput_dev_flush(struct input_dev *dev, struct file *file)
234+
{
235+
/*
236+
* If we are called with file == NULL that means we are tearing
237+
* down the device, and therefore we can not handle FF erase
238+
* requests: either we are handling UI_DEV_DESTROY (and holding
239+
* the udev->mutex), or the file descriptor is closed and there is
240+
* nobody on the other side anymore.
241+
*/
242+
return file ? input_ff_flush(dev, file) : 0;
243+
}
244+
233245
static void uinput_destroy_device(struct uinput_device *udev)
234246
{
235247
const char *name, *phys;
@@ -273,6 +285,12 @@ static int uinput_create_device(struct uinput_device *udev)
273285
dev->ff->playback = uinput_dev_playback;
274286
dev->ff->set_gain = uinput_dev_set_gain;
275287
dev->ff->set_autocenter = uinput_dev_set_autocenter;
288+
/*
289+
* The standard input_ff_flush() implementation does
290+
* not quite work for uinput as we can't reasonably
291+
* handle FF requests during device teardown.
292+
*/
293+
dev->flush = uinput_dev_flush;
276294
}
277295

278296
error = input_register_device(udev->dev);

drivers/isdn/mISDN/Kconfig

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ if MISDN != n
1212
config MISDN_DSP
1313
tristate "Digital Audio Processing of transparent data"
1414
depends on MISDN
15+
select BITREVERSE
1516
help
1617
Enable support for digital audio processing capability.
1718

drivers/net/ethernet/freescale/fs_enet/mii-bitbang.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -231,3 +231,4 @@ static struct platform_driver fs_enet_bb_mdio_driver = {
231231
};
232232

233233
module_platform_driver(fs_enet_bb_mdio_driver);
234+
MODULE_LICENSE("GPL");

0 commit comments

Comments
 (0)