Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1496251 > unrolled thread
| Started by | Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
|---|---|
| First post | 2016-10-06 10:40 +0200 |
| Last post | 2016-10-06 22:00 +0200 |
| Articles | 20 on this page of 111 — 4 participants |
Back to article view | Back to linux.kernel
[PATCH 4.7 000/141] 4.7.7-stable review Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-10-06 10:40 +0200
[PATCH 4.7 024/141] hwmon: (adt7411) set bit 3 in CFG1 register Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-10-06 10:40 +0200
[PATCH 4.7 061/141] regulator: pwm: Fix regulator ramp delay for continuous mode Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-10-06 10:40 +0200
[PATCH 4.7 003/141] scripts/recordmcount.c: account for .softirqentry.text Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-10-06 10:40 +0200
[PATCH 4.7 045/141] i40iw: Send last streaming mode message for loopback connections Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-10-06 10:40 +0200
[PATCH 4.7 023/141] nvmem: Declare nvmem_cell_read() consistently Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-10-06 10:40 +0200
[PATCH 4.7 029/141] iwlwifi: mvm: write the correct internal TXF index Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-10-06 10:40 +0200
[PATCH 4.7 032/141] iwlwifi: mvm: free RX reorder buffer on restart Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-10-06 10:40 +0200
[PATCH 4.7 008/141] x86/boot: Initialize FPU and X86_FEATURE_ALWAYS even if we dont have CPUID Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-10-06 10:40 +0200
[PATCH 4.7 046/141] i40iw: Update hw_iwarp_state Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-10-06 10:40 +0200
[PATCH 4.7 064/141] regulator: qcom_spmi: Update mvs1/mvs2 switches on pm8941 Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-10-06 10:40 +0200
[PATCH 4.7 006/141] can: dev: fix deadlock reported after bus-off Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-10-06 10:40 +0200
[PATCH 4.7 028/141] iwlwifi: mvm: fix txq aggregation bug Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-10-06 10:40 +0200
[PATCH 4.7 011/141] drm/radeon/si/dpm: add workaround for for Jet parts Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-10-06 10:40 +0200
[PATCH 4.7 013/141] ARM: 8617/1: dma: fix dma_max_pfn() Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-10-06 10:40 +0200
[PATCH 4.7 039/141] i40iw: Add missing check for interface already open Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-10-06 10:40 +0200
[PATCH 4.7 018/141] i2c: mux: demux-pinctrl: run properly with multiple instances Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-10-06 10:40 +0200
[PATCH 4.7 007/141] x86/init: Fix cr4_init_shadow() on CR4-less machines Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-10-06 10:40 +0200
[PATCH 4.7 054/141] MIPS: fix uretprobe implementation Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-10-06 10:40 +0200
[PATCH 4.7 002/141] cgroup: fix invalid controller enable rejections with cgroup namespace Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-10-06 10:40 +0200
[PATCH 4.7 010/141] drm/nouveau/fifo/nv04: avoid ramht race against cookie insertion Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-10-06 10:40 +0200
[PATCH 4.7 141/141] ALSA: hda - Add the top speaker pin config for HP Spectre x360 Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-10-06 10:50 +0200
[PATCH 4.7 107/141] powerpc/prom: Fix sub-processor option passed to ibm, client-architecture-support Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-10-06 10:50 +0200
[PATCH 4.7 101/141] xprtrdma: Remove FMRs from the unmap list after unmapping Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-10-06 10:50 +0200
[PATCH 4.7 050/141] irqchip/gicv3: Silence noisy DEBUG_PER_CPU_MAPS warning Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-10-06 10:50 +0200
[PATCH 4.7 089/141] fnic: pci_dma_mapping_error() doesnt return an error code Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-10-06 10:50 +0200
[PATCH 4.7 093/141] dmaengine: at_xdmac: fix debug string Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-10-06 10:50 +0200
[PATCH 4.7 080/141] iwlmvm: mvm: set correct state in smart-fifo configuration Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-10-06 10:50 +0200
[PATCH 4.7 122/141] scsi: ses: use scsi_is_sas_rphy instead of is_sas_attached Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-10-06 10:50 +0200
Re: [PATCH 4.7 122/141] scsi: ses: use scsi_is_sas_rphy instead of is_sas_attached James Bottomley <jejb@linux.vnet.ibm.com> - 2016-10-06 15:30 +0200
Re: [PATCH 4.7 122/141] scsi: ses: use scsi_is_sas_rphy instead of is_sas_attached Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-10-07 06:10 +0200
[PATCH 4.7 137/141] USB: serial: cp210x: Add ID for a Juniper console Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-10-06 10:50 +0200
[PATCH 4.7 078/141] tile: Define AT_VECTOR_SIZE_ARCH for ARCH_DLINFO Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-10-06 10:50 +0200
[PATCH 4.7 071/141] ARM: sa1100: clear reset status prior to reboot Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-10-06 10:50 +0200
[PATCH 4.7 076/141] blk-mq: actually hook up defer list when running requests Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-10-06 10:50 +0200
[PATCH 4.7 096/141] NFS: Dont drop CB requests with invalid principals Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-10-06 10:50 +0200
[PATCH 4.7 099/141] watchdog: core: Clear WDOG_HW_RUNNING before calling the stop function Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-10-06 10:50 +0200
[PATCH 4.7 138/141] Revert "usbtmc: convert to devm_kzalloc" Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-10-06 10:50 +0200
[PATCH 4.7 073/141] ARM: sa1111: fix pcmcia suspend/resume Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-10-06 10:50 +0200
[PATCH 4.7 072/141] ARM: shmobile: fix regulator quirk for Gen2 Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-10-06 10:50 +0200
[PATCH 4.7 090/141] mm, kasan: account for object redzone in SLUBs nearest_obj() Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-10-06 10:50 +0200
[PATCH 4.7 126/141] IB/mlx4: Use correct subnet-prefix in QP1 mads under SR-IOV Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-10-06 10:50 +0200
[PATCH 4.7 074/141] pcmcia: ds: fix suspend/resume Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-10-06 10:50 +0200
[PATCH 4.7 077/141] pstore: drop file opened reference count Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-10-06 10:50 +0200
[PATCH 4.7 127/141] IB/mlx5: Enable MAD_IFC commands for IB ports only Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-10-06 10:50 +0200
[PATCH 4.7 110/141] IB/core: Fix possible memory leak in cma_resolve_iboe_route() Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-10-06 10:50 +0200
[PATCH 4.7 053/141] MIPS: uprobes: remove incorrect set_orig_insn Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-10-06 10:50 +0200
[PATCH 4.7 139/141] ALSA: hda - Adding one more ALC255 pin definition for headset problem Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-10-06 10:50 +0200
[PATCH 4.7 106/141] staging: comedi: adv_pci1760: Do not return EINVAL for CMDF_ROUND_DOWN. Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-10-06 10:50 +0200
[PATCH 4.7 083/141] [media] v4l: vsp1: Fix crash when resetting pipeline Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-10-06 10:50 +0200
[PATCH 4.7 088/141] qla2xxx: Fix BBCR offset Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-10-06 10:50 +0200
[PATCH 4.7 136/141] usb: usbip: vudc: fix left shift overflow Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-10-06 10:50 +0200
[PATCH 4.7 125/141] IB/mlx4: Fix code indentation in QP1 MAD flow Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-10-06 10:50 +0200
[PATCH 4.7 094/141] NFS/pnfs: Do not clobber existing pgio_done_cb in nfs4_proc_read_setup Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-10-06 10:50 +0200
[PATCH 4.7 134/141] usb: misc: legousbtower: Fix NULL pointer deference Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-10-06 10:50 +0200
[PATCH 4.7 102/141] ASoC: Intel: Skylake: Fix error return code in skl_probe() Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-10-06 10:50 +0200
[PATCH 4.7 100/141] cxl: fix potential NULL dereference in free_adapter() Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-10-06 10:50 +0200
[PATCH 4.7 051/141] ARM: 8618/1: decompressor: reset ttbcr fields to use TTBR0 on ARMv7 Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-10-06 10:50 +0200
[PATCH 4.7 069/141] ARM: sa1100: register clocks early Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-10-06 10:50 +0200
[PATCH 4.7 135/141] Staging: fbtft: Fix bug in fbtft-core Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-10-06 10:50 +0200
[PATCH 4.7 048/141] batman-adv: Add missing refcnt for last_candidate Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-10-06 10:50 +0200
[PATCH 4.7 121/141] regmap: rbtree: Avoid overlapping nodes Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-10-06 10:50 +0200
[PATCH 4.7 115/141] dmaengine: at_xdmac: fix to pass correct device identity to free_irq() Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-10-06 10:50 +0200
[PATCH 4.7 103/141] brcmfmac: Fix glob_skb leak in brcmf_sdiod_recv_chain Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-10-06 10:50 +0200
[PATCH 4.7 070/141] ARM: sa1100: fix 3.6864MHz clock Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-10-06 10:50 +0200
[PATCH 4.7 087/141] avr32: off by one in at32_init_pio() Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-10-06 10:50 +0200
[PATCH 4.7 085/141] ath9k: Fix programming of minCCA power threshold Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-10-06 10:50 +0200
[PATCH 4.7 047/141] i40iw: Receive notification events correctly Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-10-06 10:50 +0200
[PATCH 4.7 079/141] fm10k: fix incorrect index calculation in fm10k_write_reta Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-10-06 10:50 +0200
[PATCH 4.7 075/141] hwrng: omap - Fix assumption that runtime_get_sync will always succeed Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-10-06 10:50 +0200
[PATCH 4.7 095/141] svc: Avoid garbage replies when pc_func() returns rpc_drop_reply Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-10-06 10:50 +0200
[PATCH 4.7 109/141] ASoC: omap-mcpdm: Fix irq resource handling Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-10-06 10:50 +0200
[PATCH 4.7 098/141] pNFS/flexfiles: Fix layoutcommit after a commit to DS Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-10-06 10:50 +0200
[PATCH 4.7 092/141] dmaengine: bcm2835: fix 64-bit warning Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-10-06 10:50 +0200
[PATCH 4.7 052/141] arm64: debug: avoid resetting stepping state machine when TIF_SINGLESTEP Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-10-06 10:50 +0200
[PATCH 4.7 111/141] kernel/fork: fix CLONE_CHILD_CLEARTID regression in nscd Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-10-06 10:50 +0200
[PATCH 4.7 112/141] SUNRPC: Silence WARN_ON when NFSv4.1 over RDMA is in use Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-10-06 10:50 +0200
[PATCH 4.7 097/141] pNFS/files: Fix layoutcommit after a commit to DS Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-10-06 10:50 +0200
[PATCH 4.7 104/141] brcmsmac: Free packet if dma_mapping_error() fails in dma_rxfill Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-10-06 10:50 +0200
[PATCH 4.7 082/141] [media] em28xx-i2c: rt_mutex_trylock() returns zero on failure Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-10-06 10:50 +0200
[PATCH 4.7 123/141] IB/ipoib: Dont allow MC joins during light MC flush Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-10-06 10:50 +0200
[PATCH 4.7 084/141] [media] gspca: avoid unused variable warnings Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-10-06 10:50 +0200
[PATCH 4.7 131/141] tpm_crb: fix mapping of the buffers Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-10-06 11:00 +0200
[PATCH 4.7 132/141] aio: mark AIO pseudo-fs noexec Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-10-06 11:00 +0200
[PATCH 4.7 124/141] IB/mlx4: Fix incorrect MC join state bit-masking on SR-IOV Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-10-06 11:00 +0200
[PATCH 4.7 130/141] tpm_crb: drop struct resource res from struct crb_priv Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-10-06 11:00 +0200
[PATCH 4.7 128/141] IB/mlx5: Set source mac address in FTE Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-10-06 11:00 +0200
[PATCH 4.7 133/141] dm log writes: fix bug with too large bios Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-10-06 11:00 +0200
[PATCH 4.7 091/141] tracing: Have HIST_TRIGGERS select TRACING Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-10-06 11:30 +0200
[PATCH 4.7 140/141] ALSA: hda - Fix headset mic detection problem for several Dell laptops Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-10-06 11:30 +0200
[PATCH 4.7 129/141] batman-adv: remove unused callback from batadv_algo_ops struct Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-10-06 11:30 +0200
[PATCH 4.7 118/141] IB/ipoib: Fix memory corruption in ipoib cm mode connect flow Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-10-06 11:40 +0200
[PATCH 4.7 086/141] mailbox: mailbox-test: set tdev->signal to NULL after freeing Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-10-06 11:40 +0200
[PATCH 4.7 120/141] IB/core: Fix use after free in send_leave function Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-10-06 11:40 +0200
[PATCH 4.7 119/141] ath10k: fix get rx_status from htt context Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-10-06 11:40 +0200
[PATCH 4.7 113/141] pNFS/flexfiles: Fix layoutstat periodic reporting Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-10-06 11:40 +0200
[PATCH 4.7 117/141] ceph: do not modify fi->frag in need_reset_readdir() Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-10-06 11:40 +0200
[PATCH 4.7 114/141] lib/test_hash.c: fix warning in preprocessor symbol evaluation Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-10-06 11:40 +0200
[PATCH 4.7 105/141] brcmsmac: Initialize power in brcms_c_stf_ss_algo_channel_get() Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-10-06 11:50 +0200
[PATCH 4.7 108/141] sysctl: handle error writing UINT_MAX to u32 fields Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-10-06 11:50 +0200
[PATCH 4.7 044/141] i40iw: Add missing NULL check for MPA private data Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-10-06 11:50 +0200
[PATCH 4.7 038/141] i40iw: Protect req_resource_num update Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-10-06 12:00 +0200
[PATCH 4.7 056/141] MIPS: uprobes: fix use of uninitialised variable Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-10-06 12:00 +0200
[PATCH 4.7 058/141] Bluetooth: split sk_filter in l2cap_sock_recv_cb Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-10-06 12:00 +0200
[PATCH 4.7 005/141] mm,ksm: fix endless looping in allocating memory when ksm enable Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-10-06 12:00 +0200
[PATCH 4.7 014/141] mwifiex: illegal assignment Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-10-06 12:00 +0200
[PATCH 4.7 036/141] gpio: sa1100: fix irq probing for ucb1x00 Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-10-06 12:00 +0200
[PATCH 4.7 055/141] MIPS: Malta: Fix IOCU disable switch read for MIPS64 Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-10-06 12:00 +0200
Re: [PATCH 4.7 000/141] 4.7.7-stable review Guenter Roeck <linux@roeck-us.net> - 2016-10-06 21:00 +0200
Re: [PATCH 4.7 000/141] 4.7.7-stable review Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-10-07 06:10 +0200
Re: [PATCH 4.7 000/141] 4.7.7-stable review Shuah Khan <shuah.kh@samsung.com> - 2016-10-06 22:00 +0200
Page 2 of 6 — ← Prev page 1 [2] 3 4 5 6 Next page →
| From | Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
|---|---|
| Date | 2016-10-06 10:40 +0200 |
| Subject | [PATCH 4.7 010/141] drm/nouveau/fifo/nv04: avoid ramht race against cookie insertion |
| Message-ID | <spcnG-64l-107@gated-at.bofh.it> |
| In reply to | #1496251 |
4.7-stable review patch. If anyone has any objections, please let me know.
------------------
From: Ilia Mirkin <imirkin@alum.mit.edu>
commit 666ca3d8f19082f40745d75f3cc7cc0200ee87e3 upstream.
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
drivers/gpu/drm/nouveau/nvkm/engine/fifo/dmanv04.c | 3 +++
1 file changed, 3 insertions(+)
--- a/drivers/gpu/drm/nouveau/nvkm/engine/fifo/dmanv04.c
+++ b/drivers/gpu/drm/nouveau/nvkm/engine/fifo/dmanv04.c
@@ -37,7 +37,10 @@ nv04_fifo_dma_object_dtor(struct nvkm_fi
{
struct nv04_fifo_chan *chan = nv04_fifo_chan(base);
struct nvkm_instmem *imem = chan->fifo->base.engine.subdev.device->imem;
+
+ mutex_lock(&chan->fifo->base.engine.subdev.mutex);
nvkm_ramht_remove(imem->ramht, cookie);
+ mutex_unlock(&chan->fifo->base.engine.subdev.mutex);
}
static int
[toc] | [prev] | [next] | [standalone]
| From | Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
|---|---|
| Date | 2016-10-06 10:50 +0200 |
| Subject | [PATCH 4.7 141/141] ALSA: hda - Add the top speaker pin config for HP Spectre x360 |
| Message-ID | <spcxj-68N-7@gated-at.bofh.it> |
| In reply to | #1496251 |
4.7-stable review patch. If anyone has any objections, please let me know.
------------------
From: Takashi Iwai <tiwai@suse.de>
commit 0eec880966e77bdbee0112989a2be67d92e39929 upstream.
HP Spectre x360 with CX20724 codec has two speaker outputs while the
BIOS sets up only the bottom one (NID 0x17) and disables the top one
(NID 0x1d).
This patch adds a fixup simply defining the proper pincfg for NID 0x1d
so that the top speaker works as is.
Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=169071
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
sound/pci/hda/patch_conexant.c | 10 ++++++++++
1 file changed, 10 insertions(+)
--- a/sound/pci/hda/patch_conexant.c
+++ b/sound/pci/hda/patch_conexant.c
@@ -261,6 +261,7 @@ enum {
CXT_FIXUP_HP_530,
CXT_FIXUP_CAP_MIX_AMP_5047,
CXT_FIXUP_MUTE_LED_EAPD,
+ CXT_FIXUP_HP_SPECTRE,
};
/* for hda_fixup_thinkpad_acpi() */
@@ -765,6 +766,14 @@ static const struct hda_fixup cxt_fixups
.type = HDA_FIXUP_FUNC,
.v.func = cxt_fixup_mute_led_eapd,
},
+ [CXT_FIXUP_HP_SPECTRE] = {
+ .type = HDA_FIXUP_PINS,
+ .v.pins = (const struct hda_pintbl[]) {
+ /* enable NID 0x1d for the speaker on top */
+ { 0x1d, 0x91170111 },
+ { }
+ }
+ },
};
static const struct snd_pci_quirk cxt5045_fixups[] = {
@@ -814,6 +823,7 @@ static const struct snd_pci_quirk cxt506
SND_PCI_QUIRK(0x1025, 0x0543, "Acer Aspire One 522", CXT_FIXUP_STEREO_DMIC),
SND_PCI_QUIRK(0x1025, 0x054c, "Acer Aspire 3830TG", CXT_FIXUP_ASPIRE_DMIC),
SND_PCI_QUIRK(0x1025, 0x054f, "Acer Aspire 4830T", CXT_FIXUP_ASPIRE_DMIC),
+ SND_PCI_QUIRK(0x103c, 0x8174, "HP Spectre x360", CXT_FIXUP_HP_SPECTRE),
SND_PCI_QUIRK(0x1043, 0x138d, "Asus", CXT_FIXUP_HEADPHONE_MIC_PIN),
SND_PCI_QUIRK(0x152d, 0x0833, "OLPC XO-1.5", CXT_FIXUP_OLPC_XO),
SND_PCI_QUIRK(0x17aa, 0x20f2, "Lenovo T400", CXT_PINCFG_LENOVO_TP410),
[toc] | [prev] | [next] | [standalone]
| From | Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
|---|---|
| Date | 2016-10-06 10:50 +0200 |
| Subject | [PATCH 4.7 107/141] powerpc/prom: Fix sub-processor option passed to ibm, client-architecture-support |
| Message-ID | <spcxj-68N-5@gated-at.bofh.it> |
| In reply to | #1496251 |
4.7-stable review patch. If anyone has any objections, please let me know.
------------------
From: Michael Ellerman <mpe@ellerman.id.au>
commit 66443efa83dc73775100b7442962ce2cb0d4472e upstream.
When booting from an OpenFirmware which supports it, we use the
"ibm,client-architecture-support" firmware call to communicate
our capabilities to firmware.
The format of the structure we pass to firmware is specified in
PAPR (Power Architecture Platform Requirements), or the public version
LoPAPR (Linux on Power Architecture Platform Reference).
Referring to table 244 in LoPAPR v1.1, option vector 5 contains a 4 byte
field at bytes 17-20 for the "Platform Facilities Enable". This is
followed by a 1 byte field at byte 21 for "Sub-Processor Represenation
Level".
Comparing to the code, there we have the Platform Facilities
options (OV5_PFO_*) at byte 17, but we fail to pad that field out to its
full width of 4 bytes. This means the OV5_SUB_PROCESSORS option is
incorrectly placed at byte 18.
Fix it by adding zero bytes for bytes 18, 19, 20, and comment the bytes
to hopefully make it clearer in future.
As far as I'm aware nothing actually consumes this value at this time,
so the effect of this bug is nil in practice.
It does mean we've been incorrectly setting bit 15 of the "Platform
Facilities Enable" option for the past ~3 1/2 years, so we should avoid
allocating that bit to anything else in future.
Fixes: df77c7992029 ("powerpc/pseries: Update ibm,architecture.vec for PAPR 2.7/POWER8")
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
arch/powerpc/kernel/prom_init.c | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)
--- a/arch/powerpc/kernel/prom_init.c
+++ b/arch/powerpc/kernel/prom_init.c
@@ -695,7 +695,7 @@ unsigned char ibm_architecture_vec[] = {
OV4_MIN_ENT_CAP, /* minimum VP entitled capacity */
/* option vector 5: PAPR/OF options */
- VECTOR_LENGTH(18), /* length */
+ VECTOR_LENGTH(21), /* length */
0, /* don't ignore, don't halt */
OV5_FEAT(OV5_LPAR) | OV5_FEAT(OV5_SPLPAR) | OV5_FEAT(OV5_LARGE_PAGES) |
OV5_FEAT(OV5_DRCONF_MEMORY) | OV5_FEAT(OV5_DONATE_DEDICATE_CPU) |
@@ -726,8 +726,11 @@ unsigned char ibm_architecture_vec[] = {
0,
0,
OV5_FEAT(OV5_PFO_HW_RNG) | OV5_FEAT(OV5_PFO_HW_ENCR) |
- OV5_FEAT(OV5_PFO_HW_842),
- OV5_FEAT(OV5_SUB_PROCESSORS),
+ OV5_FEAT(OV5_PFO_HW_842), /* Byte 17 */
+ 0, /* Byte 18 */
+ 0, /* Byte 19 */
+ 0, /* Byte 20 */
+ OV5_FEAT(OV5_SUB_PROCESSORS), /* Byte 21 */
/* option vector 6: IBM PAPR hints */
VECTOR_LENGTH(3), /* length */
[toc] | [prev] | [next] | [standalone]
| From | Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
|---|---|
| Date | 2016-10-06 10:50 +0200 |
| Subject | [PATCH 4.7 101/141] xprtrdma: Remove FMRs from the unmap list after unmapping |
| Message-ID | <spcxj-68N-1@gated-at.bofh.it> |
| In reply to | #1496251 |
4.7-stable review patch. If anyone has any objections, please let me know.
------------------
From: Chuck Lever <chuck.lever@oracle.com>
commit 38f1932e60ba249660bbae585f61ef2dee3313a4 upstream.
ib_unmap_fmr() takes a list of FMRs to unmap. However, it does not
remove the FMRs from this list as it processes them. Other
ib_unmap_fmr() call sites are careful to remove FMRs from the list
after ib_unmap_fmr() returns.
Since commit 7c7a5390dc6c8 ("xprtrdma: Add ro_unmap_sync method for FMR")
fmr_op_unmap_sync passes more than one FMR to ib_unmap_fmr(), but
it didn't bother to remove the FMRs from that list once the call was
complete.
I've noticed some instability that could be related to list
tangling by the new fmr_op_unmap_sync() logic. In an abundance
of caution, add some defensive logic to clean up properly after
ib_unmap_fmr().
Fixes: 7c7a5390dc6c8 ("xprtrdma: Add ro_unmap_sync method for FMR")
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Tested-by: Steve Wise <swise@opengridcomputing.com>
Signed-off-by: Anna Schumaker <Anna.Schumaker@Netapp.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
net/sunrpc/xprtrdma/fmr_ops.c | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)
--- a/net/sunrpc/xprtrdma/fmr_ops.c
+++ b/net/sunrpc/xprtrdma/fmr_ops.c
@@ -63,9 +63,12 @@ static int
__fmr_unmap(struct rpcrdma_mw *mw)
{
LIST_HEAD(l);
+ int rc;
list_add(&mw->fmr.fmr->list, &l);
- return ib_unmap_fmr(&l);
+ rc = ib_unmap_fmr(&l);
+ list_del_init(&mw->fmr.fmr->list);
+ return rc;
}
/* Deferred reset of a single FMR. Generate a fresh rkey by
@@ -267,7 +270,7 @@ fmr_op_unmap_sync(struct rpcrdma_xprt *r
seg = &req->rl_segments[i];
mw = seg->rl_mw;
- list_add(&mw->fmr.fmr->list, &unmap_list);
+ list_add_tail(&mw->fmr.fmr->list, &unmap_list);
i += seg->mr_nsegs;
}
@@ -280,7 +283,9 @@ fmr_op_unmap_sync(struct rpcrdma_xprt *r
*/
for (i = 0, nchunks = req->rl_nchunks; nchunks; nchunks--) {
seg = &req->rl_segments[i];
+ mw = seg->rl_mw;
+ list_del_init(&mw->fmr.fmr->list);
__fmr_dma_unmap(r_xprt, seg);
rpcrdma_put_mw(r_xprt, seg->rl_mw);
[toc] | [prev] | [next] | [standalone]
| From | Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
|---|---|
| Date | 2016-10-06 10:50 +0200 |
| Subject | [PATCH 4.7 050/141] irqchip/gicv3: Silence noisy DEBUG_PER_CPU_MAPS warning |
| Message-ID | <spcxj-68N-3@gated-at.bofh.it> |
| In reply to | #1496251 |
4.7-stable review patch. If anyone has any objections, please let me know.
------------------
From: James Morse <james.morse@arm.com>
commit 727653d6ce7103b245eb8041f55dd5885f4c3289 upstream.
gic_raise_softirq() walks the list of cpus using for_each_cpu(), it calls
gic_compute_target_list() which advances the iterator by the number of
CPUs in the cluster.
If gic_compute_target_list() reaches the last CPU it leaves the iterator
pointing at the last CPU. This means the next time round the for_each_cpu()
loop cpumask_next() will be called with an invalid CPU.
This triggers a warning when built with CONFIG_DEBUG_PER_CPU_MAPS:
[ 3.077738] GICv3: CPU1: found redistributor 1 region 0:0x000000002f120000
[ 3.077943] CPU1: Booted secondary processor [410fd0f0]
[ 3.078542] ------------[ cut here ]------------
[ 3.078746] WARNING: CPU: 1 PID: 0 at ../include/linux/cpumask.h:121 gic_raise_softirq+0x12c/0x170
[ 3.078812] Modules linked in:
[ 3.078869]
[ 3.078930] CPU: 1 PID: 0 Comm: swapper/1 Not tainted 4.8.0-rc5+ #5188
[ 3.078994] Hardware name: Foundation-v8A (DT)
[ 3.079059] task: ffff80087a1a0080 task.stack: ffff80087a19c000
[ 3.079145] PC is at gic_raise_softirq+0x12c/0x170
[ 3.079226] LR is at gic_raise_softirq+0xa4/0x170
[ 3.079296] pc : [<ffff0000083ead24>] lr : [<ffff0000083eac9c>] pstate: 200001c9
[ 3.081139] Call trace:
[ 3.081202] Exception stack(0xffff80087a19fbe0 to 0xffff80087a19fd10)
[ 3.082269] [<ffff0000083ead24>] gic_raise_softirq+0x12c/0x170
[ 3.082354] [<ffff00000808e614>] smp_send_reschedule+0x34/0x40
[ 3.082433] [<ffff0000080e80a0>] resched_curr+0x50/0x88
[ 3.082512] [<ffff0000080e89d0>] check_preempt_curr+0x60/0xd0
[ 3.082593] [<ffff0000080e8a60>] ttwu_do_wakeup+0x20/0xe8
[ 3.082672] [<ffff0000080e8bb8>] ttwu_do_activate+0x90/0xc0
[ 3.082753] [<ffff0000080ea9a4>] try_to_wake_up+0x224/0x370
[ 3.082836] [<ffff0000080eabc8>] default_wake_function+0x10/0x18
[ 3.082920] [<ffff000008103134>] __wake_up_common+0x5c/0xa0
[ 3.083003] [<ffff0000081031f4>] __wake_up_locked+0x14/0x20
[ 3.083086] [<ffff000008103f80>] complete+0x40/0x60
[ 3.083168] [<ffff00000808df7c>] secondary_start_kernel+0x15c/0x1d0
[ 3.083240] [<00000000808911a4>] 0x808911a4
[ 3.113401] Detected PIPT I-cache on CPU2
Avoid updating the iterator if the next call to cpumask_next() would
cause the for_each_cpu() loop to exit.
There is no change to gic_raise_softirq()'s behaviour, (cpumask_next()s
eventual call to _find_next_bit() will return early as start >= nbits),
this patch just silences the warning.
Fixes: 021f653791ad ("irqchip: gic-v3: Initial support for GICv3")
Signed-off-by: James Morse <james.morse@arm.com>
Acked-by: Marc Zyngier <marc.zyngier@arm.com>
Cc: linux-arm-kernel@lists.infradead.org
Cc: Jason Cooper <jason@lakedaemon.net>
Link: http://lkml.kernel.org/r/1474306155-3303-1-git-send-email-james.morse@arm.com
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
drivers/irqchip/irq-gic-v3.c | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
--- a/drivers/irqchip/irq-gic-v3.c
+++ b/drivers/irqchip/irq-gic-v3.c
@@ -558,7 +558,7 @@ static struct notifier_block gic_cpu_not
static u16 gic_compute_target_list(int *base_cpu, const struct cpumask *mask,
unsigned long cluster_id)
{
- int cpu = *base_cpu;
+ int next_cpu, cpu = *base_cpu;
unsigned long mpidr = cpu_logical_map(cpu);
u16 tlist = 0;
@@ -572,9 +572,10 @@ static u16 gic_compute_target_list(int *
tlist |= 1 << (mpidr & 0xf);
- cpu = cpumask_next(cpu, mask);
- if (cpu >= nr_cpu_ids)
+ next_cpu = cpumask_next(cpu, mask);
+ if (next_cpu >= nr_cpu_ids)
goto out;
+ cpu = next_cpu;
mpidr = cpu_logical_map(cpu);
[toc] | [prev] | [next] | [standalone]
| From | Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
|---|---|
| Date | 2016-10-06 10:50 +0200 |
| Subject | [PATCH 4.7 089/141] fnic: pci_dma_mapping_error() doesnt return an error code |
| Message-ID | <spcxj-68N-9@gated-at.bofh.it> |
| In reply to | #1496251 |
4.7-stable review patch. If anyone has any objections, please let me know.
------------------
From: Dan Carpenter <dan.carpenter@oracle.com>
commit dd7328e4c53649c1c7ec36bc1cf5b229b8662047 upstream.
pci_dma_mapping_error() returns true on error and false on success.
Fixes: fd6ddfa4c1dd ('fnic: check pci_map_single() return value')
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
drivers/scsi/fnic/fnic_fcs.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
--- a/drivers/scsi/fnic/fnic_fcs.c
+++ b/drivers/scsi/fnic/fnic_fcs.c
@@ -954,8 +954,8 @@ int fnic_alloc_rq_frame(struct vnic_rq *
skb_put(skb, len);
pa = pci_map_single(fnic->pdev, skb->data, len, PCI_DMA_FROMDEVICE);
- r = pci_dma_mapping_error(fnic->pdev, pa);
- if (r) {
+ if (pci_dma_mapping_error(fnic->pdev, pa)) {
+ r = -ENOMEM;
printk(KERN_ERR "PCI mapping failed with error %d\n", r);
goto free_skb;
}
@@ -1093,8 +1093,8 @@ static int fnic_send_frame(struct fnic *
pa = pci_map_single(fnic->pdev, eth_hdr, tot_len, PCI_DMA_TODEVICE);
- ret = pci_dma_mapping_error(fnic->pdev, pa);
- if (ret) {
+ if (pci_dma_mapping_error(fnic->pdev, pa)) {
+ ret = -ENOMEM;
printk(KERN_ERR "DMA map failed with error %d\n", ret);
goto free_skb_on_err;
}
[toc] | [prev] | [next] | [standalone]
| From | Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
|---|---|
| Date | 2016-10-06 10:50 +0200 |
| Subject | [PATCH 4.7 093/141] dmaengine: at_xdmac: fix debug string |
| Message-ID | <spcxk-68N-27@gated-at.bofh.it> |
| In reply to | #1496251 |
4.7-stable review patch. If anyone has any objections, please let me know.
------------------
From: Alexandre Belloni <alexandre.belloni@free-electrons.com>
commit 3935e08768ff777da6496521b1fc36f72823672c upstream.
mbr_ds is an integer, don't use %pad to print it.
Fixes: commit 268914f4e7a0 ("dmaengine: at_xdmac: use %pad format string for dma_addr_t")
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
drivers/dma/at_xdmac.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
--- a/drivers/dma/at_xdmac.c
+++ b/drivers/dma/at_xdmac.c
@@ -1195,8 +1195,8 @@ static struct at_xdmac_desc *at_xdmac_me
desc->lld.mbr_cfg = chan_cc;
dev_dbg(chan2dev(chan),
- "%s: lld: mbr_da=%pad, mbr_ds=%pad, mbr_ubc=0x%08x, mbr_cfg=0x%08x\n",
- __func__, &desc->lld.mbr_da, &desc->lld.mbr_ds, desc->lld.mbr_ubc,
+ "%s: lld: mbr_da=%pad, mbr_ds=0x%08x, mbr_ubc=0x%08x, mbr_cfg=0x%08x\n",
+ __func__, &desc->lld.mbr_da, desc->lld.mbr_ds, desc->lld.mbr_ubc,
desc->lld.mbr_cfg);
return desc;
[toc] | [prev] | [next] | [standalone]
| From | Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
|---|---|
| Date | 2016-10-06 10:50 +0200 |
| Subject | [PATCH 4.7 080/141] iwlmvm: mvm: set correct state in smart-fifo configuration |
| Message-ID | <spcxj-68N-11@gated-at.bofh.it> |
| In reply to | #1496251 |
4.7-stable review patch. If anyone has any objections, please let me know.
------------------
From: striebit <shaul.triebitz@intel.com>
commit 849a9627299100ae3f0ce573fc87d2b476f3bb59 upstream.
Currently the state sent in SF configuration is always
FULL_ON.
This commit sets the correct state (e.g. INIT_OFF
when station is not associated).
Fixes: commit f4a3ee493e69 ("iwlwifi: mvm: Always enable the smart FIFO")
Signed-off-by: Shaul Triebitz <shaul.triebitz@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
drivers/net/wireless/intel/iwlwifi/mvm/sf.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--- a/drivers/net/wireless/intel/iwlwifi/mvm/sf.c
+++ b/drivers/net/wireless/intel/iwlwifi/mvm/sf.c
@@ -215,7 +215,7 @@ static int iwl_mvm_sf_config(struct iwl_
enum iwl_sf_state new_state)
{
struct iwl_sf_cfg_cmd sf_cmd = {
- .state = cpu_to_le32(SF_FULL_ON),
+ .state = cpu_to_le32(new_state),
};
struct ieee80211_sta *sta;
int ret = 0;
[toc] | [prev] | [next] | [standalone]
| From | Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
|---|---|
| Date | 2016-10-06 10:50 +0200 |
| Subject | [PATCH 4.7 122/141] scsi: ses: use scsi_is_sas_rphy instead of is_sas_attached |
| Message-ID | <spcxk-68N-15@gated-at.bofh.it> |
| In reply to | #1496251 |
4.7-stable review patch. If anyone has any objections, please let me know.
------------------
From: Johannes Thumshirn <jthumshirn@suse.de>
commit 835831c57e9b0cccc24e96a812542875471d75b5 upstream.
Use scsi_is_sas_rphy() instead of is_sas_attached() to decide whether we
should obtain the SAS address from a scsi device or not. This will
prevent us from tripping on the BUG_ON() in sas_sdev_to_rdev() if the
rphy isn't attached to the SAS transport class, like it is with hpsa's
logical devices.
Fixes: 3f8d6f2a0 ('ses: fix discovery of SATA devices in SAS enclosures')
Signed-off-by: Johannes Thumshirn <jthumshirn@suse.de>
Reviewed-by: James E.J. Bottomley <jejb@linux.vnet.ibm.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
drivers/scsi/ses.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--- a/drivers/scsi/ses.c
+++ b/drivers/scsi/ses.c
@@ -587,7 +587,7 @@ static void ses_match_to_enclosure(struc
ses_enclosure_data_process(edev, to_scsi_device(edev->edev.parent), 0);
- if (is_sas_attached(sdev))
+ if (scsi_is_sas_rphy(&sdev->sdev_gendev))
efd.addr = sas_get_address(sdev);
if (efd.addr) {
[toc] | [prev] | [next] | [standalone]
| From | James Bottomley <jejb@linux.vnet.ibm.com> |
|---|---|
| Date | 2016-10-06 15:30 +0200 |
| Subject | Re: [PATCH 4.7 122/141] scsi: ses: use scsi_is_sas_rphy instead of is_sas_attached |
| Message-ID | <spgUh-Dn-1@gated-at.bofh.it> |
| In reply to | #1496282 |
On Thu, 2016-10-06 at 10:29 +0200, Greg Kroah-Hartman wrote:
> 4.7-stable review patch. If anyone has any objections, please let me
> know.
This doesn't build if SCSI_SAS_ATTRS isn't set without this patch:
commit c1a23f6d64552b4480208aa584ec7e9c13d6d9c3
Author: Johannes Thumshirn <jthumshirn@suse.de>
Date: Wed Aug 17 11:46:16 2016 +0200
scsi: sas: provide stub implementation for scsi_is_sas_rphy
Does it?
James
> ------------------
>
> From: Johannes Thumshirn <jthumshirn@suse.de>
>
> commit 835831c57e9b0cccc24e96a812542875471d75b5 upstream.
>
> Use scsi_is_sas_rphy() instead of is_sas_attached() to decide whether
> we
> should obtain the SAS address from a scsi device or not. This will
> prevent us from tripping on the BUG_ON() in sas_sdev_to_rdev() if the
> rphy isn't attached to the SAS transport class, like it is with
> hpsa's
> logical devices.
>
> Fixes: 3f8d6f2a0 ('ses: fix discovery of SATA devices in SAS
> enclosures')
> Signed-off-by: Johannes Thumshirn <jthumshirn@suse.de>
> Reviewed-by: James E.J. Bottomley <jejb@linux.vnet.ibm.com>
> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
>
> ---
> drivers/scsi/ses.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> --- a/drivers/scsi/ses.c
> +++ b/drivers/scsi/ses.c
> @@ -587,7 +587,7 @@ static void ses_match_to_enclosure(struc
>
> ses_enclosure_data_process(edev, to_scsi_device(edev
> ->edev.parent), 0);
>
> - if (is_sas_attached(sdev))
> + if (scsi_is_sas_rphy(&sdev->sdev_gendev))
> efd.addr = sas_get_address(sdev);
>
> if (efd.addr) {
>
>
[toc] | [prev] | [next] | [standalone]
| From | Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
|---|---|
| Date | 2016-10-07 06:10 +0200 |
| Subject | Re: [PATCH 4.7 122/141] scsi: ses: use scsi_is_sas_rphy instead of is_sas_attached |
| Message-ID | <spuDU-2QL-15@gated-at.bofh.it> |
| In reply to | #1496650 |
On Thu, Oct 06, 2016 at 09:25:34PM +0800, James Bottomley wrote: > On Thu, 2016-10-06 at 10:29 +0200, Greg Kroah-Hartman wrote: > > 4.7-stable review patch. If anyone has any objections, please let me > > know. > > This doesn't build if SCSI_SAS_ATTRS isn't set without this patch: > > > commit c1a23f6d64552b4480208aa584ec7e9c13d6d9c3 > Author: Johannes Thumshirn <jthumshirn@suse.de> > Date: Wed Aug 17 11:46:16 2016 +0200 > > scsi: sas: provide stub implementation for scsi_is_sas_rphy > > Does it? You are right, we have ppc build failures without this, thanks for letting me know. greg k-h
[toc] | [prev] | [next] | [standalone]
| From | Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
|---|---|
| Date | 2016-10-06 10:50 +0200 |
| Subject | [PATCH 4.7 137/141] USB: serial: cp210x: Add ID for a Juniper console |
| Message-ID | <spcxj-68N-13@gated-at.bofh.it> |
| In reply to | #1496251 |
4.7-stable review patch. If anyone has any objections, please let me know.
------------------
From: Kyle Jones <kyle@kf5jwc.us>
commit decc5360f23e9efe0252094f47f57f254dcbb3a9 upstream.
Signed-off-by: Kyle Jones <kyle@kf5jwc.us>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
drivers/usb/serial/cp210x.c | 1 +
1 file changed, 1 insertion(+)
--- a/drivers/usb/serial/cp210x.c
+++ b/drivers/usb/serial/cp210x.c
@@ -118,6 +118,7 @@ static const struct usb_device_id id_tab
{ USB_DEVICE(0x10C4, 0x8411) }, /* Kyocera GPS Module */
{ USB_DEVICE(0x10C4, 0x8418) }, /* IRZ Automation Teleport SG-10 GSM/GPRS Modem */
{ USB_DEVICE(0x10C4, 0x846E) }, /* BEI USB Sensor Interface (VCP) */
+ { USB_DEVICE(0x10C4, 0x8470) }, /* Juniper Networks BX Series System Console */
{ USB_DEVICE(0x10C4, 0x8477) }, /* Balluff RFID */
{ USB_DEVICE(0x10C4, 0x84B6) }, /* Starizona Hyperion */
{ USB_DEVICE(0x10C4, 0x85EA) }, /* AC-Services IBUS-IF */
[toc] | [prev] | [next] | [standalone]
| From | Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
|---|---|
| Date | 2016-10-06 10:50 +0200 |
| Subject | [PATCH 4.7 078/141] tile: Define AT_VECTOR_SIZE_ARCH for ARCH_DLINFO |
| Message-ID | <spcxk-68N-25@gated-at.bofh.it> |
| In reply to | #1496251 |
4.7-stable review patch. If anyone has any objections, please let me know.
------------------
From: James Hogan <james.hogan@imgtec.com>
commit cdf8b4633075f2171d440d2e37c9c2609019a81a upstream.
AT_VECTOR_SIZE_ARCH should be defined with the maximum number of
NEW_AUX_ENT entries that ARCH_DLINFO can contain, but it wasn't defined
for tile at all even though ARCH_DLINFO will contain one NEW_AUX_ENT for
the VDSO address.
This shouldn't be a problem as AT_VECTOR_SIZE_BASE includes space for
AT_BASE_PLATFORM which tile doesn't use, but lets define it now and add
the comment above ARCH_DLINFO as found in several other architectures to
remind future modifiers of ARCH_DLINFO to keep AT_VECTOR_SIZE_ARCH up to
date.
Fixes: 4a556f4f56da ("tile: implement gettimeofday() via vDSO")
Signed-off-by: James Hogan <james.hogan@imgtec.com>
Cc: Chris Metcalf <cmetcalf@mellanox.com>
Signed-off-by: Chris Metcalf <cmetcalf@mellanox.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
arch/tile/include/asm/elf.h | 1 +
arch/tile/include/uapi/asm/auxvec.h | 2 ++
2 files changed, 3 insertions(+)
--- a/arch/tile/include/asm/elf.h
+++ b/arch/tile/include/asm/elf.h
@@ -129,6 +129,7 @@ extern int dump_task_regs(struct task_st
struct linux_binprm;
extern int arch_setup_additional_pages(struct linux_binprm *bprm,
int executable_stack);
+/* update AT_VECTOR_SIZE_ARCH if the number of NEW_AUX_ENT entries changes */
#define ARCH_DLINFO \
do { \
NEW_AUX_ENT(AT_SYSINFO_EHDR, VDSO_BASE); \
--- a/arch/tile/include/uapi/asm/auxvec.h
+++ b/arch/tile/include/uapi/asm/auxvec.h
@@ -18,4 +18,6 @@
/* The vDSO location. */
#define AT_SYSINFO_EHDR 33
+#define AT_VECTOR_SIZE_ARCH 1 /* entries in ARCH_DLINFO */
+
#endif /* _ASM_TILE_AUXVEC_H */
[toc] | [prev] | [next] | [standalone]
| From | Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
|---|---|
| Date | 2016-10-06 10:50 +0200 |
| Subject | [PATCH 4.7 071/141] ARM: sa1100: clear reset status prior to reboot |
| Message-ID | <spcxk-68N-31@gated-at.bofh.it> |
| In reply to | #1496251 |
4.7-stable review patch. If anyone has any objections, please let me know.
------------------
From: Russell King <rmk+kernel@armlinux.org.uk>
commit da60626e7d02a4f385cae80e450afc8b07035368 upstream.
Clear the current reset status prior to rebooting the platform. This
adds the bit missing from 04fef228fb00 ("[ARM] pxa: introduce
reset_status and clear_reset_status for driver's usage").
Fixes: 04fef228fb00 ("[ARM] pxa: introduce reset_status and clear_reset_status for driver's usage")
Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
arch/arm/mach-sa1100/generic.c | 3 +++
1 file changed, 3 insertions(+)
--- a/arch/arm/mach-sa1100/generic.c
+++ b/arch/arm/mach-sa1100/generic.c
@@ -34,6 +34,7 @@
#include <mach/hardware.h>
#include <mach/irqs.h>
+#include <mach/reset.h>
#include "generic.h"
#include <clocksource/pxa.h>
@@ -95,6 +96,8 @@ static void sa1100_power_off(void)
void sa11x0_restart(enum reboot_mode mode, const char *cmd)
{
+ clear_reset_status(RESET_STATUS_ALL);
+
if (mode == REBOOT_SOFT) {
/* Jump into ROM at address 0 */
soft_restart(0);
[toc] | [prev] | [next] | [standalone]
| From | Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
|---|---|
| Date | 2016-10-06 10:50 +0200 |
| Subject | [PATCH 4.7 076/141] blk-mq: actually hook up defer list when running requests |
| Message-ID | <spcxk-68N-35@gated-at.bofh.it> |
| In reply to | #1496251 |
4.7-stable review patch. If anyone has any objections, please let me know.
------------------
From: Omar Sandoval <osandov@fb.com>
commit 52b9c330c6a8a4b5a1819bdaddf4ec76ab571e81 upstream.
If ->queue_rq() returns BLK_MQ_RQ_QUEUE_OK, we use continue and skip
over the rest of the loop body. However, dptr is assigned later in the
loop body, and the BLK_MQ_RQ_QUEUE_OK case is exactly the case that we'd
want it for.
NVMe isn't actually using BLK_MQ_F_DEFER_ISSUE yet, nor is any other
in-tree driver, but if the code's going to be there, it might as well
work.
Fixes: 74c450521dd8 ("blk-mq: add a 'list' parameter to ->queue_rq()")
Signed-off-by: Omar Sandoval <osandov@fb.com>
Signed-off-by: Jens Axboe <axboe@fb.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
block/blk-mq.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--- a/block/blk-mq.c
+++ b/block/blk-mq.c
@@ -784,7 +784,7 @@ static void __blk_mq_run_hw_queue(struct
switch (ret) {
case BLK_MQ_RQ_QUEUE_OK:
queued++;
- continue;
+ break;
case BLK_MQ_RQ_QUEUE_BUSY:
list_add(&rq->queuelist, &rq_list);
__blk_mq_requeue_request(rq);
[toc] | [prev] | [next] | [standalone]
| From | Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
|---|---|
| Date | 2016-10-06 10:50 +0200 |
| Subject | [PATCH 4.7 096/141] NFS: Dont drop CB requests with invalid principals |
| Message-ID | <spcxk-68N-33@gated-at.bofh.it> |
| In reply to | #1496251 |
4.7-stable review patch. If anyone has any objections, please let me know.
------------------
From: Chuck Lever <chuck.lever@oracle.com>
commit a4e187d83d88eeaba6252aac0a2ffe5eaa73a818 upstream.
Before commit 778be232a207 ("NFS do not find client in NFSv4
pg_authenticate"), the Linux callback server replied with
RPC_AUTH_ERROR / RPC_AUTH_BADCRED, instead of dropping the CB
request. Let's restore that behavior so the server has a chance to
do something useful about it, and provide a warning that helps
admins correct the problem.
Fixes: 778be232a207 ("NFS do not find client in NFSv4 ...")
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Tested-by: Steve Wise <swise@opengridcomputing.com>
Signed-off-by: Anna Schumaker <Anna.Schumaker@Netapp.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
fs/nfs/callback_xdr.c | 6 +++++-
net/sunrpc/svc.c | 5 +++++
2 files changed, 10 insertions(+), 1 deletion(-)
--- a/fs/nfs/callback_xdr.c
+++ b/fs/nfs/callback_xdr.c
@@ -925,7 +925,7 @@ static __be32 nfs4_callback_compound(str
if (hdr_arg.minorversion == 0) {
cps.clp = nfs4_find_client_ident(SVC_NET(rqstp), hdr_arg.cb_ident);
if (!cps.clp || !check_gss_callback_principal(cps.clp, rqstp))
- return rpc_drop_reply;
+ goto out_invalidcred;
}
cps.minorversion = hdr_arg.minorversion;
@@ -953,6 +953,10 @@ static __be32 nfs4_callback_compound(str
nfs_put_client(cps.clp);
dprintk("%s: done, status = %u\n", __func__, ntohl(status));
return rpc_success;
+
+out_invalidcred:
+ pr_warn_ratelimited("NFS: NFSv4 callback contains invalid cred\n");
+ return rpc_autherr_badcred;
}
/*
--- a/net/sunrpc/svc.c
+++ b/net/sunrpc/svc.c
@@ -1194,6 +1194,11 @@ svc_process_common(struct svc_rqst *rqst
procp->pc_release(rqstp, NULL, rqstp->rq_resp);
goto dropit;
}
+ if (*statp == rpc_autherr_badcred) {
+ if (procp->pc_release)
+ procp->pc_release(rqstp, NULL, rqstp->rq_resp);
+ goto err_bad_auth;
+ }
if (*statp == rpc_success &&
(xdr = procp->pc_encode) &&
!xdr(rqstp, resv->iov_base+resv->iov_len, rqstp->rq_resp)) {
[toc] | [prev] | [next] | [standalone]
| From | Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
|---|---|
| Date | 2016-10-06 10:50 +0200 |
| Subject | [PATCH 4.7 099/141] watchdog: core: Clear WDOG_HW_RUNNING before calling the stop function |
| Message-ID | <spcxk-68N-37@gated-at.bofh.it> |
| In reply to | #1496251 |
4.7-stable review patch. If anyone has any objections, please let me know.
------------------
From: Guenter Roeck <linux@roeck-us.net>
commit 3c10bbde10fe4dca52726e246cefa6b0a1dfbd3e upstream.
WDOG_HW_RUNNING indicates that the hardware watchdog is running while the
watchdog device is closed. The flag may be set by the driver when it is
instantiated to indicate that the watchdog is running, and that the
watchdog core needs to send heartbeat requests to the driver until the
watchdog device is opened.
When the watchdog device is closed, the flag can be used by the driver's
stop function to indicate to the watchdog core that it was unable to stop
the watchdog, and that the watchdog core needs to send heartbeat requests.
This only works if the flag is actually cleared when the watchdog is
stopped. To avoid having to clear the flag in each driver's stop function,
clear it in the watchdog core before calling the stop function.
Reported-by: Rasmus Villemoes <rasmus.villemoes@prevas.dk>
Fixes: ee142889e32f ("watchdog: Introduce WDOG_HW_RUNNING flag")
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
drivers/watchdog/watchdog_dev.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
--- a/drivers/watchdog/watchdog_dev.c
+++ b/drivers/watchdog/watchdog_dev.c
@@ -258,10 +258,12 @@ static int watchdog_stop(struct watchdog
return -EBUSY;
}
- if (wdd->ops->stop)
+ if (wdd->ops->stop) {
+ clear_bit(WDOG_HW_RUNNING, &wdd->status);
err = wdd->ops->stop(wdd);
- else
+ } else {
set_bit(WDOG_HW_RUNNING, &wdd->status);
+ }
if (err == 0) {
clear_bit(WDOG_ACTIVE, &wdd->status);
[toc] | [prev] | [next] | [standalone]
| From | Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
|---|---|
| Date | 2016-10-06 10:50 +0200 |
| Subject | [PATCH 4.7 138/141] Revert "usbtmc: convert to devm_kzalloc" |
| Message-ID | <spcxk-68N-39@gated-at.bofh.it> |
| In reply to | #1496251 |
4.7-stable review patch. If anyone has any objections, please let me know. ------------------ From: Greg Kroah-Hartman <gregkh@linuxfoundation.org> commit ab21b63e8aedfc73565dd9cdd51eb338341177cb upstream. This reverts commit e6c7efdcb76f11b04e3d3f71c8d764ab75c9423b. Turns out it was totally wrong. The memory is supposed to be bound to the kref, as the original code was doing correctly, not the device/driver binding as the devm_kzalloc() would cause. This fixes an oops when read would be called after the device was unbound from the driver. Reported-by: Ladislav Michl <ladis@linux-mips.org> Cc: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> --- drivers/usb/class/usbtmc.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) --- a/drivers/usb/class/usbtmc.c +++ b/drivers/usb/class/usbtmc.c @@ -141,6 +141,7 @@ static void usbtmc_delete(struct kref *k struct usbtmc_device_data *data = to_usbtmc_data(kref); usb_put_dev(data->usb_dev); + kfree(data); } static int usbtmc_open(struct inode *inode, struct file *filp) @@ -1379,7 +1380,7 @@ static int usbtmc_probe(struct usb_inter dev_dbg(&intf->dev, "%s called\n", __func__); - data = devm_kzalloc(&intf->dev, sizeof(*data), GFP_KERNEL); + data = kmalloc(sizeof(*data), GFP_KERNEL); if (!data) return -ENOMEM;
[toc] | [prev] | [next] | [standalone]
| From | Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
|---|---|
| Date | 2016-10-06 10:50 +0200 |
| Subject | [PATCH 4.7 073/141] ARM: sa1111: fix pcmcia suspend/resume |
| Message-ID | <spcxk-68N-43@gated-at.bofh.it> |
| In reply to | #1496251 |
4.7-stable review patch. If anyone has any objections, please let me know.
------------------
From: Russell King <rmk+kernel@armlinux.org.uk>
commit 06dfe5cc0cc684e735cb0232fdb756d30780b05d upstream.
SA1111 PCMCIA was broken when PCMCIA switched to using dev_pm_ops for
the PCMCIA socket class. PCMCIA used to handle suspend/resume via the
socket hosting device, which happened at normal device suspend/resume
time.
However, the referenced commit changed this: much of the resume now
happens much earlier, in the noirq resume handler of dev_pm_ops.
However, on SA1111, the PCMCIA device is not accessible as the SA1111
has not been resumed at _noirq time. It's slightly worse than that,
because the SA1111 has already been put to sleep at _noirq time, so
suspend doesn't work properly.
Fix this by converting the core SA1111 code to use dev_pm_ops as well,
and performing its own suspend/resume at noirq time.
This fixes these errors in the kernel log:
pcmcia_socket pcmcia_socket0: time out after reset
pcmcia_socket pcmcia_socket1: time out after reset
and the resulting lack of PCMCIA cards after a S2RAM cycle.
Fixes: d7646f7632549 ("pcmcia: use dev_pm_ops for class pcmcia_socket_class")
Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
arch/arm/common/sa1111.c | 22 +++++++++++++---------
1 file changed, 13 insertions(+), 9 deletions(-)
--- a/arch/arm/common/sa1111.c
+++ b/arch/arm/common/sa1111.c
@@ -869,9 +869,9 @@ struct sa1111_save_data {
#ifdef CONFIG_PM
-static int sa1111_suspend(struct platform_device *dev, pm_message_t state)
+static int sa1111_suspend_noirq(struct device *dev)
{
- struct sa1111 *sachip = platform_get_drvdata(dev);
+ struct sa1111 *sachip = dev_get_drvdata(dev);
struct sa1111_save_data *save;
unsigned long flags;
unsigned int val;
@@ -934,9 +934,9 @@ static int sa1111_suspend(struct platfor
* restored by their respective drivers, and must be called
* via LDM after this function.
*/
-static int sa1111_resume(struct platform_device *dev)
+static int sa1111_resume_noirq(struct device *dev)
{
- struct sa1111 *sachip = platform_get_drvdata(dev);
+ struct sa1111 *sachip = dev_get_drvdata(dev);
struct sa1111_save_data *save;
unsigned long flags, id;
void __iomem *base;
@@ -952,7 +952,7 @@ static int sa1111_resume(struct platform
id = sa1111_readl(sachip->base + SA1111_SKID);
if ((id & SKID_ID_MASK) != SKID_SA1111_ID) {
__sa1111_remove(sachip);
- platform_set_drvdata(dev, NULL);
+ dev_set_drvdata(dev, NULL);
kfree(save);
return 0;
}
@@ -1003,8 +1003,8 @@ static int sa1111_resume(struct platform
}
#else
-#define sa1111_suspend NULL
-#define sa1111_resume NULL
+#define sa1111_suspend_noirq NULL
+#define sa1111_resume_noirq NULL
#endif
static int sa1111_probe(struct platform_device *pdev)
@@ -1038,6 +1038,11 @@ static int sa1111_remove(struct platform
return 0;
}
+static struct dev_pm_ops sa1111_pm_ops = {
+ .suspend_noirq = sa1111_suspend_noirq,
+ .resume_noirq = sa1111_resume_noirq,
+};
+
/*
* Not sure if this should be on the system bus or not yet.
* We really want some way to register a system device at
@@ -1050,10 +1055,9 @@ static int sa1111_remove(struct platform
static struct platform_driver sa1111_device_driver = {
.probe = sa1111_probe,
.remove = sa1111_remove,
- .suspend = sa1111_suspend,
- .resume = sa1111_resume,
.driver = {
.name = "sa1111",
+ .pm = &sa1111_pm_ops,
},
};
[toc] | [prev] | [next] | [standalone]
| From | Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
|---|---|
| Date | 2016-10-06 10:50 +0200 |
| Subject | [PATCH 4.7 072/141] ARM: shmobile: fix regulator quirk for Gen2 |
| Message-ID | <spcxk-68N-41@gated-at.bofh.it> |
| In reply to | #1496251 |
4.7-stable review patch. If anyone has any objections, please let me know.
------------------
From: Wolfram Sang <wsa+renesas@sang-engineering.com>
commit c2f321126e31cd69365e65ecd4a7c774e4fc71d2 upstream.
The current implementation only works if the da9xxx devices are added
before their drivers are registered. Only then it can apply the fixes to
both devices. Otherwise, the driver for the first device gets probed
before the fix for the second device can be applied. This is what
fails when using the IP core switcher or when having the i2c master
driver as a module.
So, we need to disable both da9xxx once we detected one of them. We now
use i2c_transfer with hardcoded i2c_messages and device addresses, so we
don't need the da9xxx client devices to be instantiated. Because the
fixup is used on specific boards only, the addresses are not going to
change.
Fixes: 663fbb52159cca ("ARM: shmobile: R-Car Gen2: Add da9063/da9210 regulator quirk")
Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Tested-by: Geert Uytterhoeven <geert+renesas@glider.be> (r8a7791/koelsch)
Tested-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
arch/arm/mach-shmobile/regulator-quirk-rcar-gen2.c | 62 ++++++++-------------
1 file changed, 26 insertions(+), 36 deletions(-)
--- a/arch/arm/mach-shmobile/regulator-quirk-rcar-gen2.c
+++ b/arch/arm/mach-shmobile/regulator-quirk-rcar-gen2.c
@@ -41,39 +41,26 @@
#define REGULATOR_IRQ_MASK BIT(2) /* IRQ2, active low */
-static void __iomem *irqc;
-
-static const u8 da9063_mask_regs[] = {
- DA9063_REG_IRQ_MASK_A,
- DA9063_REG_IRQ_MASK_B,
- DA9063_REG_IRQ_MASK_C,
- DA9063_REG_IRQ_MASK_D,
-};
-
-/* DA9210 System Control and Event Registers */
+/* start of DA9210 System Control and Event Registers */
#define DA9210_REG_MASK_A 0x54
-#define DA9210_REG_MASK_B 0x55
-
-static const u8 da9210_mask_regs[] = {
- DA9210_REG_MASK_A,
- DA9210_REG_MASK_B,
-};
-static void da9xxx_mask_irqs(struct i2c_client *client, const u8 regs[],
- unsigned int nregs)
-{
- unsigned int i;
-
- dev_info(&client->dev, "Masking %s interrupt sources\n", client->name);
+static void __iomem *irqc;
- for (i = 0; i < nregs; i++) {
- int error = i2c_smbus_write_byte_data(client, regs[i], ~0);
- if (error) {
- dev_err(&client->dev, "i2c error %d\n", error);
- return;
- }
- }
-}
+/* first byte sets the memory pointer, following are consecutive reg values */
+static u8 da9063_irq_clr[] = { DA9063_REG_IRQ_MASK_A, 0xff, 0xff, 0xff, 0xff };
+static u8 da9210_irq_clr[] = { DA9210_REG_MASK_A, 0xff, 0xff };
+
+static struct i2c_msg da9xxx_msgs[2] = {
+ {
+ .addr = 0x58,
+ .len = ARRAY_SIZE(da9063_irq_clr),
+ .buf = da9063_irq_clr,
+ }, {
+ .addr = 0x68,
+ .len = ARRAY_SIZE(da9210_irq_clr),
+ .buf = da9210_irq_clr,
+ },
+};
static int regulator_quirk_notify(struct notifier_block *nb,
unsigned long action, void *data)
@@ -93,12 +80,15 @@ static int regulator_quirk_notify(struct
client = to_i2c_client(dev);
dev_dbg(dev, "Detected %s\n", client->name);
- if ((client->addr == 0x58 && !strcmp(client->name, "da9063")))
- da9xxx_mask_irqs(client, da9063_mask_regs,
- ARRAY_SIZE(da9063_mask_regs));
- else if (client->addr == 0x68 && !strcmp(client->name, "da9210"))
- da9xxx_mask_irqs(client, da9210_mask_regs,
- ARRAY_SIZE(da9210_mask_regs));
+ if ((client->addr == 0x58 && !strcmp(client->name, "da9063")) ||
+ (client->addr == 0x68 && !strcmp(client->name, "da9210"))) {
+ int ret;
+
+ dev_info(&client->dev, "clearing da9063/da9210 interrupts\n");
+ ret = i2c_transfer(client->adapter, da9xxx_msgs, ARRAY_SIZE(da9xxx_msgs));
+ if (ret != ARRAY_SIZE(da9xxx_msgs))
+ dev_err(&client->dev, "i2c error %d\n", ret);
+ }
mon = ioread32(irqc + IRQC_MONITOR);
if (mon & REGULATOR_IRQ_MASK)
[toc] | [prev] | [next] | [standalone]
Page 2 of 6 — ← Prev page 1 [2] 3 4 5 6 Next page →
Back to top | Article view | linux.kernel
csiph-web