public inbox for stable@vger.kernel.org
 help / color / mirror / Atom feed
From: Sasha Levin <Alexander.Levin@microsoft.com>
To: "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"stable@vger.kernel.org" <stable@vger.kernel.org>
Cc: Tadeusz Struk <tadeusz.struk@intel.com>,
	Dennis Dalessandro <dennis.dalessandro@intel.com>,
	Doug Ledford <dledford@redhat.com>,
	Sasha Levin <Alexander.Levin@microsoft.com>
Subject: [PATCH AUTOSEL for 4.9 113/190] IB/hfi1: Fix softlockup issue
Date: Thu, 8 Mar 2018 04:59:41 +0000	[thread overview]
Message-ID: <20180308045810.8041-113-alexander.levin@microsoft.com> (raw)
In-Reply-To: <20180308045810.8041-1-alexander.levin@microsoft.com>

From: Tadeusz Struk <tadeusz.struk@intel.com>

[ Upstream commit 22546b741af8355cd2e16739b6af4a8f17081839 ]

Soft lockups can occur because the mad processing on different CPUs acquire
the spin lock dc8051_lock:

[534552.835870]  [<ffffffffa026f993>] ? read_dev_port_cntr.isra.37+0x23/0x160 [hfi1]
[534552.835880]  [<ffffffffa02775af>] read_dev_cntr+0x4f/0x60 [hfi1]
[534552.835893]  [<ffffffffa028d7cd>] pma_get_opa_portstatus+0x64d/0x8c0 [hfi1]
[534552.835904]  [<ffffffffa0290e7d>] hfi1_process_mad+0x48d/0x18c0 [hfi1]
[534552.835908]  [<ffffffff811dc1f1>] ? __slab_free+0x81/0x2f0
[534552.835936]  [<ffffffffa024c34e>] ? ib_mad_recv_done+0x21e/0xa30 [ib_core]
[534552.835939]  [<ffffffff811dd153>] ? __kmalloc+0x1f3/0x240
[534552.835947]  [<ffffffffa024c3fb>] ib_mad_recv_done+0x2cb/0xa30 [ib_core]
[534552.835955]  [<ffffffffa0237c85>] __ib_process_cq+0x55/0xd0 [ib_core]
[534552.835962]  [<ffffffffa0237d70>] ib_cq_poll_work+0x20/0x60 [ib_core]
[534552.835964]  [<ffffffff810a7f3b>] process_one_work+0x17b/0x470
[534552.835966]  [<ffffffff810a8d76>] worker_thread+0x126/0x410
[534552.835969]  [<ffffffff810a8c50>] ? rescuer_thread+0x460/0x460
[534552.835971]  [<ffffffff810b052f>] kthread+0xcf/0xe0
[534552.835974]  [<ffffffff810b0460>] ? kthread_create_on_node+0x140/0x140
[534552.835977]  [<ffffffff81696418>] ret_from_fork+0x58/0x90
[534552.835980]  [<ffffffff810b0460>] ? kthread_create_on_node+0x140/0x140

This issue is made worse when the 8051 is busy and the reads take longer.
Fix by using a non-spinning lock procure.

Reviewed-by: Michael J. Ruhl <michael.j.ruhl@intel.com>
Reviewed-by: Mike Marciszyn <mike.marciniszyn@intel.com>
Signed-off-by: Tadeusz Struk <tadeusz.struk@intel.com>
Signed-off-by: Dennis Dalessandro <dennis.dalessandro@intel.com>
Signed-off-by: Doug Ledford <dledford@redhat.com>
Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
---
 drivers/infiniband/hw/hfi1/chip.c | 86 +++++++++++++++++++++++----------------
 drivers/infiniband/hw/hfi1/hfi.h  |  7 ++--
 drivers/infiniband/hw/hfi1/init.c |  2 +-
 3 files changed, 57 insertions(+), 38 deletions(-)

diff --git a/drivers/infiniband/hw/hfi1/chip.c b/drivers/infiniband/hw/hfi1/chip.c
index 4682909b021b..1e5672fe84b6 100644
--- a/drivers/infiniband/hw/hfi1/chip.c
+++ b/drivers/infiniband/hw/hfi1/chip.c
@@ -6379,18 +6379,17 @@ static void lcb_shutdown(struct hfi1_devdata *dd, int abort)
  *
  * The expectation is that the caller of this routine would have taken
  * care of properly transitioning the link into the correct state.
+ * NOTE: the caller needs to acquire the dd->dc8051_lock lock
+ *       before calling this function.
  */
-static void dc_shutdown(struct hfi1_devdata *dd)
+static void _dc_shutdown(struct hfi1_devdata *dd)
 {
-	unsigned long flags;
+	lockdep_assert_held(&dd->dc8051_lock);
 
-	spin_lock_irqsave(&dd->dc8051_lock, flags);
-	if (dd->dc_shutdown) {
-		spin_unlock_irqrestore(&dd->dc8051_lock, flags);
+	if (dd->dc_shutdown)
 		return;
-	}
+
 	dd->dc_shutdown = 1;
-	spin_unlock_irqrestore(&dd->dc8051_lock, flags);
 	/* Shutdown the LCB */
 	lcb_shutdown(dd, 1);
 	/*
@@ -6401,35 +6400,45 @@ static void dc_shutdown(struct hfi1_devdata *dd)
 	write_csr(dd, DC_DC8051_CFG_RST, 0x1);
 }
 
+static void dc_shutdown(struct hfi1_devdata *dd)
+{
+	mutex_lock(&dd->dc8051_lock);
+	_dc_shutdown(dd);
+	mutex_unlock(&dd->dc8051_lock);
+}
+
 /*
  * Calling this after the DC has been brought out of reset should not
  * do any damage.
+ * NOTE: the caller needs to acquire the dd->dc8051_lock lock
+ *       before calling this function.
  */
-static void dc_start(struct hfi1_devdata *dd)
+static void _dc_start(struct hfi1_devdata *dd)
 {
-	unsigned long flags;
-	int ret;
+	lockdep_assert_held(&dd->dc8051_lock);
 
-	spin_lock_irqsave(&dd->dc8051_lock, flags);
 	if (!dd->dc_shutdown)
-		goto done;
-	spin_unlock_irqrestore(&dd->dc8051_lock, flags);
+		return;
+
 	/* Take the 8051 out of reset */
 	write_csr(dd, DC_DC8051_CFG_RST, 0ull);
 	/* Wait until 8051 is ready */
-	ret = wait_fm_ready(dd, TIMEOUT_8051_START);
-	if (ret) {
+	if (wait_fm_ready(dd, TIMEOUT_8051_START))
 		dd_dev_err(dd, "%s: timeout starting 8051 firmware\n",
 			   __func__);
-	}
+
 	/* Take away reset for LCB and RX FPE (set in lcb_shutdown). */
 	write_csr(dd, DCC_CFG_RESET, 0x10);
 	/* lcb_shutdown() with abort=1 does not restore these */
 	write_csr(dd, DC_LCB_ERR_EN, dd->lcb_err_en);
-	spin_lock_irqsave(&dd->dc8051_lock, flags);
 	dd->dc_shutdown = 0;
-done:
-	spin_unlock_irqrestore(&dd->dc8051_lock, flags);
+}
+
+static void dc_start(struct hfi1_devdata *dd)
+{
+	mutex_lock(&dd->dc8051_lock);
+	_dc_start(dd);
+	mutex_unlock(&dd->dc8051_lock);
 }
 
 /*
@@ -8418,16 +8427,11 @@ static int do_8051_command(
 {
 	u64 reg, completed;
 	int return_code;
-	unsigned long flags;
 	unsigned long timeout;
 
 	hfi1_cdbg(DC8051, "type %d, data 0x%012llx", type, in_data);
 
-	/*
-	 * Alternative to holding the lock for a long time:
-	 * - keep busy wait - have other users bounce off
-	 */
-	spin_lock_irqsave(&dd->dc8051_lock, flags);
+	mutex_lock(&dd->dc8051_lock);
 
 	/* We can't send any commands to the 8051 if it's in reset */
 	if (dd->dc_shutdown) {
@@ -8453,10 +8457,8 @@ static int do_8051_command(
 			return_code = -ENXIO;
 			goto fail;
 		}
-		spin_unlock_irqrestore(&dd->dc8051_lock, flags);
-		dc_shutdown(dd);
-		dc_start(dd);
-		spin_lock_irqsave(&dd->dc8051_lock, flags);
+		_dc_shutdown(dd);
+		_dc_start(dd);
 	}
 
 	/*
@@ -8534,8 +8536,7 @@ static int do_8051_command(
 	write_csr(dd, DC_DC8051_CFG_HOST_CMD_0, 0);
 
 fail:
-	spin_unlock_irqrestore(&dd->dc8051_lock, flags);
-
+	mutex_unlock(&dd->dc8051_lock);
 	return return_code;
 }
 
@@ -11846,6 +11847,10 @@ static void free_cntrs(struct hfi1_devdata *dd)
 	dd->scntrs = NULL;
 	kfree(dd->cntrnames);
 	dd->cntrnames = NULL;
+	if (dd->update_cntr_wq) {
+		destroy_workqueue(dd->update_cntr_wq);
+		dd->update_cntr_wq = NULL;
+	}
 }
 
 static u64 read_dev_port_cntr(struct hfi1_devdata *dd, struct cntr_entry *entry,
@@ -12001,7 +12006,7 @@ u64 write_port_cntr(struct hfi1_pportdata *ppd, int index, int vl, u64 data)
 	return write_dev_port_cntr(ppd->dd, entry, sval, ppd, vl, data);
 }
 
-static void update_synth_timer(unsigned long opaque)
+static void do_update_synth_timer(struct work_struct *work)
 {
 	u64 cur_tx;
 	u64 cur_rx;
@@ -12010,8 +12015,8 @@ static void update_synth_timer(unsigned long opaque)
 	int i, j, vl;
 	struct hfi1_pportdata *ppd;
 	struct cntr_entry *entry;
-
-	struct hfi1_devdata *dd = (struct hfi1_devdata *)opaque;
+	struct hfi1_devdata *dd = container_of(work, struct hfi1_devdata,
+					       update_cntr_work);
 
 	/*
 	 * Rather than keep beating on the CSRs pick a minimal set that we can
@@ -12094,7 +12099,13 @@ static void update_synth_timer(unsigned long opaque)
 	} else {
 		hfi1_cdbg(CNTR, "[%d] No update necessary", dd->unit);
 	}
+}
+
+static void update_synth_timer(unsigned long opaque)
+{
+	struct hfi1_devdata *dd = (struct hfi1_devdata *)opaque;
 
+	queue_work(dd->update_cntr_wq, &dd->update_cntr_work);
 	mod_timer(&dd->synth_stats_timer, jiffies + HZ * SYNTH_CNT_TIME);
 }
 
@@ -12330,6 +12341,13 @@ static int init_cntrs(struct hfi1_devdata *dd)
 	if (init_cpu_counters(dd))
 		goto bail;
 
+	dd->update_cntr_wq = alloc_ordered_workqueue("hfi1_update_cntr_%d",
+						     WQ_MEM_RECLAIM, dd->unit);
+	if (!dd->update_cntr_wq)
+		goto bail;
+
+	INIT_WORK(&dd->update_cntr_work, do_update_synth_timer);
+
 	mod_timer(&dd->synth_stats_timer, jiffies + HZ * SYNTH_CNT_TIME);
 	return 0;
 bail:
diff --git a/drivers/infiniband/hw/hfi1/hfi.h b/drivers/infiniband/hw/hfi1/hfi.h
index cc87fd4e534b..a3279f3d2578 100644
--- a/drivers/infiniband/hw/hfi1/hfi.h
+++ b/drivers/infiniband/hw/hfi1/hfi.h
@@ -475,7 +475,7 @@ struct rvt_sge_state;
 #define HFI1_PART_ENFORCE_OUT	0x2
 
 /* how often we check for synthetic counter wrap around */
-#define SYNTH_CNT_TIME 2
+#define SYNTH_CNT_TIME 3
 
 /* Counter flags */
 #define CNTR_NORMAL		0x0 /* Normal counters, just read register */
@@ -929,8 +929,9 @@ struct hfi1_devdata {
 	spinlock_t rcvctrl_lock; /* protect changes to RcvCtrl */
 	/* around rcd and (user ctxts) ctxt_cnt use (intr vs free) */
 	spinlock_t uctxt_lock; /* rcd and user context changes */
-	/* exclusive access to 8051 */
-	spinlock_t dc8051_lock;
+	struct mutex dc8051_lock; /* exclusive access to 8051 */
+	struct workqueue_struct *update_cntr_wq;
+	struct work_struct update_cntr_work;
 	/* exclusive access to 8051 memory */
 	spinlock_t dc8051_memlock;
 	int dc8051_timed_out;	/* remember if the 8051 timed out */
diff --git a/drivers/infiniband/hw/hfi1/init.c b/drivers/infiniband/hw/hfi1/init.c
index a3dd27b1305d..84a97f3f9299 100644
--- a/drivers/infiniband/hw/hfi1/init.c
+++ b/drivers/infiniband/hw/hfi1/init.c
@@ -1078,11 +1078,11 @@ struct hfi1_devdata *hfi1_alloc_devdata(struct pci_dev *pdev, size_t extra)
 	spin_lock_init(&dd->uctxt_lock);
 	spin_lock_init(&dd->hfi1_diag_trans_lock);
 	spin_lock_init(&dd->sc_init_lock);
-	spin_lock_init(&dd->dc8051_lock);
 	spin_lock_init(&dd->dc8051_memlock);
 	seqlock_init(&dd->sc2vl_lock);
 	spin_lock_init(&dd->sde_map_lock);
 	spin_lock_init(&dd->pio_map_lock);
+	mutex_init(&dd->dc8051_lock);
 	init_waitqueue_head(&dd->event_queue);
 
 	dd->int_counter = alloc_percpu(u64);
-- 
2.14.1

  parent reply	other threads:[~2018-03-08  4:59 UTC|newest]

Thread overview: 195+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-03-08  4:58 [PATCH AUTOSEL for 4.9 001/190] powerpc/nohash: Fix use of mmu_has_feature() in setup_initial_memory_limit() Sasha Levin
2018-03-08  4:58 ` [PATCH AUTOSEL for 4.9 002/190] usb: dwc2: Make sure we disconnect the gadget state Sasha Levin
2018-03-08  4:58 ` [PATCH AUTOSEL for 4.9 003/190] usb: gadget: dummy_hcd: Fix wrong power status bit clear/reset in dummy_hub_control() Sasha Levin
2018-03-08  4:58 ` [PATCH AUTOSEL for 4.9 004/190] perf evsel: Return exact sub event which failed with EPERM for wildcards Sasha Levin
2018-03-08  4:58 ` [PATCH AUTOSEL for 4.9 005/190] iwlwifi: mvm: fix RX SKB header size and align it properly Sasha Levin
2018-03-08  4:58 ` [PATCH AUTOSEL for 4.9 006/190] drivers/perf: arm_pmu: handle no platform_device Sasha Levin
2018-03-08  4:58 ` [PATCH AUTOSEL for 4.9 007/190] perf session: Don't rely on evlist in pipe mode Sasha Levin
2018-03-08  4:58 ` [PATCH AUTOSEL for 4.9 009/190] vfio/spapr_tce: Check kzalloc() return when preregistering memory Sasha Levin
2018-03-08  4:58 ` [PATCH AUTOSEL for 4.9 008/190] vfio/powerpc/spapr_tce: Enforce IOMMU type compatibility check Sasha Levin
2018-03-08  4:58 ` [PATCH AUTOSEL for 4.9 010/190] scsi: sg: check for valid direction before starting the request Sasha Levin
2018-03-08  4:58 ` [PATCH AUTOSEL for 4.9 011/190] scsi: sg: close race condition in sg_remove_sfp_usercontext() Sasha Levin
2018-03-08  4:58 ` [PATCH AUTOSEL for 4.9 012/190] ALSA: hda: Add Geminilake id to SKL_PLUS Sasha Levin
2018-03-08  4:58 ` [PATCH AUTOSEL for 4.9 013/190] kprobes/x86: Fix kprobe-booster not to boost far call instructions Sasha Levin
2018-03-08  4:58 ` [PATCH AUTOSEL for 4.9 015/190] pwm: tegra: Increase precision in PWM rate calculation Sasha Levin
2018-03-08  4:58 ` [PATCH AUTOSEL for 4.9 014/190] kprobes/x86: Set kprobes pages read-only Sasha Levin
2018-03-08  4:58 ` [PATCH AUTOSEL for 4.9 017/190] Bluetooth: Avoid bt_accept_unlink() double unlinking Sasha Levin
2018-03-08  4:58 ` [PATCH AUTOSEL for 4.9 018/190] Bluetooth: 6lowpan: fix delay work init in add_peer_chan() Sasha Levin
2018-03-08  4:58 ` [PATCH AUTOSEL for 4.9 016/190] clk: qcom: msm8996: Fix the vfe1 powerdomain name Sasha Levin
2018-03-08  4:58 ` [PATCH AUTOSEL for 4.9 020/190] ath10k: fix compile time sanity check for CE4 buffer size Sasha Levin
2018-03-08  4:58 ` [PATCH AUTOSEL for 4.9 019/190] mac80211_hwsim: use per-interface power level Sasha Levin
2018-03-08  4:58 ` [PATCH AUTOSEL for 4.9 022/190] wil6210: fix memory access violation in wil_memcpy_from/toio_32 Sasha Levin
2018-03-08  4:58 ` [PATCH AUTOSEL for 4.9 021/190] wil6210: fix protection against connections during reset Sasha Levin
2018-03-08  4:59 ` [PATCH AUTOSEL for 4.9 023/190] perf stat: Fix bug in handling events in error state Sasha Levin
2018-03-08  4:59 ` [PATCH AUTOSEL for 4.9 024/190] mwifiex: Fix invalid port issue Sasha Levin
2018-03-08  4:59 ` [PATCH AUTOSEL for 4.9 026/190] bonding: handle link transition from FAIL to UP correctly Sasha Levin
2018-03-08  4:59 ` [PATCH AUTOSEL for 4.9 025/190] platform/x86: asus-nb-wmi: Add wapf4 quirk for the X302UA Sasha Levin
2018-03-08 17:39   ` Darren Hart
2018-03-08 17:47     ` Greg KH
2018-03-08 18:15       ` Sasha Levin
2018-03-08 18:37         ` Darren Hart
2018-03-09 16:37           ` Sasha Levin
2018-03-08  4:59 ` [PATCH AUTOSEL for 4.9 027/190] regulator: anatop: set default voltage selector for pcie Sasha Levin
2018-03-08  4:59 ` [PATCH AUTOSEL for 4.9 028/190] power: supply: bq24190_charger: Limit over/under voltage fault logging Sasha Levin
2018-03-08  4:59 ` [PATCH AUTOSEL for 4.9 031/190] Input: ar1021_i2c - fix too long name in driver's device table Sasha Levin
2018-03-08  4:59 ` [PATCH AUTOSEL for 4.9 029/190] x86: i8259: export legacy_pic symbol Sasha Levin
2018-03-08  4:59 ` [PATCH AUTOSEL for 4.9 030/190] rtc: cmos: Do not assume irq 8 for rtc when there are no legacy irqs Sasha Levin
2018-03-08  4:59 ` [PATCH AUTOSEL for 4.9 032/190] time: Change posix clocks ops interfaces to use timespec64 Sasha Levin
2018-03-08  4:59 ` [PATCH AUTOSEL for 4.9 033/190] ACPI/processor: Fix error handling in __acpi_processor_start() Sasha Levin
2018-03-08  4:59 ` [PATCH AUTOSEL for 4.9 035/190] cpufreq/sh: Replace racy task affinity logic Sasha Levin
2018-03-08  4:59 ` [PATCH AUTOSEL for 4.9 034/190] ACPI/processor: " Sasha Levin
2018-03-08  4:59 ` [PATCH AUTOSEL for 4.9 037/190] i2c: i2c-scmi: add a MS HID Sasha Levin
2018-03-08  4:59 ` [PATCH AUTOSEL for 4.9 036/190] genirq: Use irqd_get_trigger_type to compare the trigger type for shared IRQs Sasha Levin
2018-03-08  4:59 ` [PATCH AUTOSEL for 4.9 038/190] net: ipv6: send unsolicited NA on admin up Sasha Levin
2018-03-08  4:59 ` [PATCH AUTOSEL for 4.9 039/190] [media] media/dvb-core: Race condition when writing to CAM Sasha Levin
2018-03-08  4:59 ` [PATCH AUTOSEL for 4.9 040/190] btrfs: fix a bogus warning when converting only data or metadata Sasha Levin
2018-03-08  4:59 ` [PATCH AUTOSEL for 4.9 041/190] ASoC: Intel: Atom: update Thinkpad 10 quirk Sasha Levin
2018-03-08  4:59 ` [PATCH AUTOSEL for 4.9 043/190] spi: dw: Disable clock after unregistering the host Sasha Levin
2018-03-08  4:59 ` [PATCH AUTOSEL for 4.9 042/190] tools/testing/nvdimm: fix nfit_test shutdown crash Sasha Levin
2018-03-08  4:59 ` [PATCH AUTOSEL for 4.9 045/190] ath: Fix updating radar flags for coutry code India Sasha Levin
2018-03-08  4:59 ` [PATCH AUTOSEL for 4.9 044/190] powerpc/64s: Remove SAO feature from Power9 DD1 Sasha Levin
2018-03-08  4:59 ` [PATCH AUTOSEL for 4.9 047/190] iwlwifi: split the handler and the wake parts of the notification infra Sasha Levin
2018-03-08  4:59 ` [PATCH AUTOSEL for 4.9 046/190] clk: ns2: Correct SDIO bits Sasha Levin
2018-03-08  4:59 ` [PATCH AUTOSEL for 4.9 048/190] iwlwifi: a000: fix memory offsets and lengths Sasha Levin
2018-03-08  4:59 ` [PATCH AUTOSEL for 4.9 050/190] KVM: PPC: Book3S PR: Exit KVM on failed mapping Sasha Levin
2018-03-08  4:59 ` [PATCH AUTOSEL for 4.9 049/190] scsi: virtio_scsi: Always try to read VPD pages Sasha Levin
2018-03-08  4:59 ` [PATCH AUTOSEL for 4.9 052/190] x86/reboot: Turn off KVM when halting a CPU Sasha Levin
2018-03-08  4:59 ` [PATCH AUTOSEL for 4.9 051/190] mwifiex: don't leak 'chan_stats' on reset Sasha Levin
2018-03-08  4:59 ` [PATCH AUTOSEL for 4.9 053/190] ARM: 8668/1: ftrace: Fix dynamic ftrace with DEBUG_RODATA and !FRAME_POINTER Sasha Levin
2018-03-08  4:59 ` [PATCH AUTOSEL for 4.9 054/190] irqchip/mips-gic: Separate IPI reservation & usage tracking Sasha Levin
2018-03-08  4:59 ` [PATCH AUTOSEL for 4.9 055/190] iommu/omap: Register driver before setting IOMMU ops Sasha Levin
2018-03-08  4:59 ` [PATCH AUTOSEL for 4.9 056/190] md/raid10: wait up frozen array in handle_write_completed Sasha Levin
2018-03-08  4:59 ` [PATCH AUTOSEL for 4.9 057/190] NFS: Fix missing pg_cleanup after nfs_pageio_cond_complete() Sasha Levin
2018-03-08  4:59 ` [PATCH AUTOSEL for 4.9 059/190] e1000e: fix timing for 82579 Gigabit Ethernet controller Sasha Levin
2018-03-08  4:59 ` [PATCH AUTOSEL for 4.9 058/190] tcp: remove poll() flakes with FastOpen Sasha Levin
2018-03-08  4:59 ` [PATCH AUTOSEL for 4.9 060/190] ALSA: hda - Fix headset microphone detection for ASUS N551 and N751 Sasha Levin
2018-03-08  4:59 ` [PATCH AUTOSEL for 4.9 061/190] IB/ipoib: Fix deadlock between ipoib_stop and mcast join flow Sasha Levin
2018-03-08  4:59 ` [PATCH AUTOSEL for 4.9 063/190] HSI: ssi_protocol: double free in ssip_pn_xmit() Sasha Levin
2018-03-08  4:59 ` [PATCH AUTOSEL for 4.9 062/190] IB/ipoib: Update broadcast object if PKey value was changed in index 0 Sasha Levin
2018-03-08  4:59 ` [PATCH AUTOSEL for 4.9 064/190] IB/mlx4: Take write semaphore when changing the vma struct Sasha Levin
2018-03-08  4:59 ` [PATCH AUTOSEL for 4.9 065/190] IB/mlx4: Change vma from shared to private Sasha Levin
2018-03-08  4:59 ` [PATCH AUTOSEL for 4.9 067/190] IB/mlx5: " Sasha Levin
2018-03-08  4:59 ` [PATCH AUTOSEL for 4.9 066/190] IB/mlx5: Take write semaphore when changing the vma struct Sasha Levin
2018-03-08  4:59 ` [PATCH AUTOSEL for 4.9 068/190] IB/mlx5: Set correct SL in completion for RoCE Sasha Levin
2018-03-08  4:59 ` [PATCH AUTOSEL for 4.9 069/190] ASoC: Intel: Skylake: Uninitialized variable in probe_codec() Sasha Levin
2018-03-08  4:59 ` [PATCH AUTOSEL for 4.9 070/190] ibmvnic: Disable irq prior to close Sasha Levin
2018-03-08  4:59 ` [PATCH AUTOSEL for 4.9 071/190] netvsc: Deal with rescinded channels correctly Sasha Levin
2018-03-08  4:59 ` [PATCH AUTOSEL for 4.9 072/190] Fix driver usage of 128B WQEs when WQ_CREATE is V1 Sasha Levin
2018-03-08  4:59 ` [PATCH AUTOSEL for 4.9 074/190] gpio: gpio-wcove: fix irq pending status bit width Sasha Levin
2018-03-08  4:59 ` [PATCH AUTOSEL for 4.9 073/190] Fix Express lane queue creation Sasha Levin
2018-03-08  4:59 ` [PATCH AUTOSEL for 4.9 077/190] netfilter: nf_ct_helper: permit cthelpers with different names via nfnetlink Sasha Levin
2018-03-08  4:59 ` [PATCH AUTOSEL for 4.9 075/190] netfilter: xt_CT: fix refcnt leak on error path Sasha Levin
2018-03-08  4:59 ` [PATCH AUTOSEL for 4.9 076/190] openvswitch: Delete conntrack entry clashing with an expectation Sasha Levin
2018-03-08  4:59 ` [PATCH AUTOSEL for 4.9 078/190] mmc: host: omap_hsmmc: checking for NULL instead of IS_ERR() Sasha Levin
2018-03-08  4:59 ` [PATCH AUTOSEL for 4.9 079/190] tipc: check return value of nlmsg_new Sasha Levin
2018-03-08  4:59 ` [PATCH AUTOSEL for 4.9 080/190] wan: pc300too: abort path on failure Sasha Levin
2018-03-08  4:59 ` [PATCH AUTOSEL for 4.9 081/190] qlcnic: fix unchecked return value Sasha Levin
2018-03-08  4:59 ` [PATCH AUTOSEL for 4.9 082/190] netfilter: nft_dynset: continue to next expr if _OP_ADD succeeded Sasha Levin
2018-03-08  4:59 ` [PATCH AUTOSEL for 4.9 083/190] platform/x86: intel-vbtn: add volume up and down Sasha Levin
2018-03-08  4:59 ` [PATCH AUTOSEL for 4.9 084/190] scsi: mac_esp: Replace bogus memory barrier with spinlock Sasha Levin
2018-03-08  4:59 ` [PATCH AUTOSEL for 4.9 086/190] pNFS: Fix use after free issues in pnfs_do_read() Sasha Levin
2018-03-08  4:59 ` [PATCH AUTOSEL for 4.9 087/190] xprtrdma: Cancel refresh worker during buffer shutdown Sasha Levin
2018-03-08  4:59 ` [PATCH AUTOSEL for 4.9 085/190] infiniband/uverbs: Fix integer overflows Sasha Levin
2018-03-08  4:59 ` [PATCH AUTOSEL for 4.9 088/190] NFS: don't try to cross a mountpount when there isn't one there Sasha Levin
2018-03-08  4:59 ` [PATCH AUTOSEL for 4.9 089/190] iio: st_pressure: st_accel: Initialise sensor platform data properly Sasha Levin
2018-03-08  4:59 ` [PATCH AUTOSEL for 4.9 090/190] mt7601u: check return value of alloc_skb Sasha Levin
2018-03-08  4:59 ` [PATCH AUTOSEL for 4.9 091/190] libertas: check return value of alloc_workqueue Sasha Levin
2018-03-08  4:59 ` [PATCH AUTOSEL for 4.9 093/190] Btrfs: fix incorrect space accounting after failure to insert inline extent Sasha Levin
2018-03-08  4:59 ` [PATCH AUTOSEL for 4.9 092/190] rndis_wlan: add return value validation Sasha Levin
2018-03-08  4:59 ` [PATCH AUTOSEL for 4.9 094/190] Btrfs: send, fix file hole not being preserved due to inline extent Sasha Levin
2018-03-08  4:59 ` [PATCH AUTOSEL for 4.9 095/190] Btrfs: fix extent map leak during fallocate error path Sasha Levin
2018-03-08  4:59 ` [PATCH AUTOSEL for 4.9 096/190] orangefs: do not wait for timeout if umounting Sasha Levin
2018-03-08  4:59 ` [PATCH AUTOSEL for 4.9 098/190] ACPICA: iasl: Fix IORT SMMU GSI disassembling Sasha Levin
2018-03-08  4:59 ` [PATCH AUTOSEL for 4.9 097/190] mac80211: don't parse encrypted management frames in ieee80211_frame_acked Sasha Levin
2018-03-08  4:59 ` [PATCH AUTOSEL for 4.9 099/190] iio: hid-sensor: fix return of -EINVAL on invalid values in ret or value Sasha Levin
2018-03-08  4:59 ` [PATCH AUTOSEL for 4.9 101/190] mfd: palmas: Reset the POWERHOLD mux during power off Sasha Levin
2018-03-08  4:59 ` [PATCH AUTOSEL for 4.9 100/190] dt-bindings: mfd: axp20x: Add "xpowers,master-mode" property for AXP806 PMICs Sasha Levin
2018-03-08  4:59 ` [PATCH AUTOSEL for 4.9 103/190] x86/KASLR: Fix kexec kernel boot crash when KASLR randomization fails Sasha Levin
2018-03-08  4:59 ` [PATCH AUTOSEL for 4.9 102/190] mtip32xx: use runtime tag to initialize command header Sasha Levin
2018-03-08  4:59 ` [PATCH AUTOSEL for 4.9 104/190] gpio: gpio-wcove: fix GPIO IRQ status mask Sasha Levin
2018-03-08  4:59 ` [PATCH AUTOSEL for 4.9 105/190] staging: unisys: visorhba: fix s-Par to boot with option CONFIG_VMAP_STACK set to y Sasha Levin
2018-03-08  4:59 ` [PATCH AUTOSEL for 4.9 107/190] ipvs: explicitly forbid ipv6 service/dest creation if ipv6 mod is disabled Sasha Levin
2018-03-08  4:59 ` [PATCH AUTOSEL for 4.9 106/190] staging: wilc1000: fix unchecked return value Sasha Levin
2018-03-08  4:59 ` [PATCH AUTOSEL for 4.9 108/190] mac80211: Fix possible sband related NULL pointer de-reference Sasha Levin
2018-03-08  4:59 ` [PATCH AUTOSEL for 4.9 111/190] ARM: DRA7: clockdomain: Change the CLKTRCTRL of CM_PCIE_CLKSTCTRL to SW_WKUP Sasha Levin
2018-03-08  4:59 ` [PATCH AUTOSEL for 4.9 110/190] netfilter: x_tables: unlock on error in xt_find_table_lock() Sasha Levin
2018-03-08  4:59 ` [PATCH AUTOSEL for 4.9 109/190] mmc: sdhci-of-esdhc: limit SD clock for ls1012a/ls1046a Sasha Levin
2018-03-08  4:59 ` Sasha Levin [this message]
2018-03-08  4:59 ` [PATCH AUTOSEL for 4.9 112/190] IB/rdmavt: restore IRQs on error path in rvt_create_ah() Sasha Levin
2018-03-08  4:59 ` [PATCH AUTOSEL for 4.9 116/190] ACPI / PMIC: xpower: Fix power_table addresses Sasha Levin
2018-03-08  4:59 ` [PATCH AUTOSEL for 4.9 114/190] platform/x86: asus-wmi: try to set als by default Sasha Levin
2018-03-08  4:59 ` [PATCH AUTOSEL for 4.9 115/190] ipmi/watchdog: fix wdog hang on panic waiting for ipmi response Sasha Levin
2018-03-08  4:59 ` [PATCH AUTOSEL for 4.9 118/190] drm/nouveau/kms: Increase max retries in scanout position queries Sasha Levin
2018-03-08  4:59 ` [PATCH AUTOSEL for 4.9 117/190] drm/amdgpu: fix gpu reset crash Sasha Levin
2018-03-08  4:59 ` [PATCH AUTOSEL for 4.9 120/190] ixgbevf: fix size of queue stats length Sasha Levin
2018-03-08  4:59 ` [PATCH AUTOSEL for 4.9 119/190] jbd2: Fix lockdep splat with generic/270 test Sasha Levin
2018-03-08  4:59 ` [PATCH AUTOSEL for 4.9 122/190] soc/fsl/qe: round brg_freq to 1kHz granularity Sasha Levin
2018-03-08  4:59 ` [PATCH AUTOSEL for 4.9 121/190] net: ethernet: ucc_geth: fix MEM_PART_MURAM mode Sasha Levin
2018-03-08  4:59 ` [PATCH AUTOSEL for 4.9 123/190] Bluetooth: hci_ldisc: Add protocol check to hci_uart_dequeue() Sasha Levin
2018-03-08  4:59 ` [PATCH AUTOSEL for 4.9 124/190] Bluetooth: hci_ldisc: Add protocol check to hci_uart_tx_wakeup() Sasha Levin
2018-03-08  4:59 ` [PATCH AUTOSEL for 4.9 125/190] vxlan: correctly handle ipv6.disable module parameter Sasha Levin
2018-03-08  4:59 ` [PATCH AUTOSEL for 4.9 127/190] bnx2x: Align RX buffers Sasha Levin
2018-03-08  4:59 ` [PATCH AUTOSEL for 4.9 126/190] qed: Unlock on error in qed_vf_pf_acquire() Sasha Levin
2018-03-08  4:59 ` [PATCH AUTOSEL for 4.9 128/190] power: supply: bq24190_charger: Add disable-reset device-property Sasha Levin
2018-03-08  4:59 ` [PATCH AUTOSEL for 4.9 130/190] power: supply: pda_power: move from timer to delayed_work Sasha Levin
2018-03-08  4:59 ` [PATCH AUTOSEL for 4.9 129/190] power: supply: isp1704: Fix unchecked return value of devm_kzalloc Sasha Levin
2018-03-08  4:59 ` [PATCH AUTOSEL for 4.9 131/190] Input: twl4030-pwrbutton - use correct device for irq request Sasha Levin
2018-03-08  4:59 ` [PATCH AUTOSEL for 4.9 132/190] IB/rxe: Don't clamp residual length to mtu Sasha Levin
2018-03-08  4:59 ` [PATCH AUTOSEL for 4.9 133/190] md/raid10: skip spare disk as 'first' disk Sasha Levin
2018-03-08  4:59 ` [PATCH AUTOSEL for 4.9 134/190] ACPI / power: Delay turning off unused power resources after suspend Sasha Levin
2018-03-08  4:59 ` [PATCH AUTOSEL for 4.9 136/190] tcm_fileio: Prevent information leak for short reads Sasha Levin
2018-03-08  4:59 ` [PATCH AUTOSEL for 4.9 135/190] ia64: fix module loading for gcc-5.4 Sasha Levin
2018-03-08  4:59 ` [PATCH AUTOSEL for 4.9 138/190] video: fbdev: udlfb: Fix buffer on stack Sasha Levin
2018-03-08  4:59 ` [PATCH AUTOSEL for 4.9 137/190] x86/xen: split xen_smp_prepare_boot_cpu() Sasha Levin
2018-03-08  4:59 ` [PATCH AUTOSEL for 4.9 139/190] sm501fb: don't return zero on failure path in sm501fb_start() Sasha Levin
2018-03-08  4:59 ` [PATCH AUTOSEL for 4.9 140/190] pNFS: Fix a deadlock when coalescing writes and returning the layout Sasha Levin
2018-03-08  4:59 ` [PATCH AUTOSEL for 4.9 142/190] cifs: small underflow in cnvrtDosUnixTm() Sasha Levin
2018-03-08  4:59 ` [PATCH AUTOSEL for 4.9 143/190] mm: fix check for reclaimable pages in PF_MEMALLOC reclaim throttling Sasha Levin
2018-03-08  4:59 ` [PATCH AUTOSEL for 4.9 141/190] net: hns: fix ethtool_get_strings overflow in hns driver Sasha Levin
2018-03-08  4:59 ` [PATCH AUTOSEL for 4.9 144/190] mm, vmstat: suppress pcp stats for unpopulated zones in zoneinfo Sasha Levin
2018-03-08  4:59 ` [PATCH AUTOSEL for 4.9 145/190] oom: improve oom disable handling Sasha Levin
2018-03-08  4:59 ` [PATCH AUTOSEL for 4.9 146/190] mm: hwpoison: call shake_page() after try_to_unmap() for mlocked page Sasha Levin
2018-03-08  4:59 ` [PATCH AUTOSEL for 4.9 147/190] rtc: ds1374: wdt: Fix issue with timeout scaling from secs to wdt ticks Sasha Levin
2018-03-08  4:59 ` [PATCH AUTOSEL for 4.9 149/190] ath10k: fix out of bounds access to local buffer Sasha Levin
2018-03-08  4:59 ` [PATCH AUTOSEL for 4.9 148/190] rtc: ds1374: wdt: Fix stop/start ioctl always returning -EINVAL Sasha Levin
2018-03-08  4:59 ` [PATCH AUTOSEL for 4.9 150/190] perf tests kmod-path: Don't fail if compressed modules aren't supported Sasha Levin
2018-03-08  4:59 ` [PATCH AUTOSEL for 4.9 151/190] block/mq: Cure cpu hotplug lock inversion Sasha Levin
2018-03-08  4:59 ` [PATCH AUTOSEL for 4.9 153/190] Bluetooth: btqcomsmd: Fix skb double free corruption Sasha Levin
2018-03-08  4:59 ` [PATCH AUTOSEL for 4.9 152/190] Bluetooth: hci_qca: Avoid setup failure on missing rampatch Sasha Levin
2018-03-08  5:00 ` [PATCH AUTOSEL for 4.9 154/190] media: c8sectpfe: fix potential NULL pointer dereference in c8sectpfe_timer_interrupt Sasha Levin
2018-03-08  5:00 ` [PATCH AUTOSEL for 4.9 155/190] drm/msm: fix leak in failed get_pages Sasha Levin
2018-03-08  5:00 ` [PATCH AUTOSEL for 4.9 156/190] dm: ensure bio submission follows a depth-first tree walk Sasha Levin
2018-03-08  5:00 ` [PATCH AUTOSEL for 4.9 157/190] RDMA/iwpm: Fix uninitialized error code in iwpm_send_mapinfo() Sasha Levin
2018-03-08  5:00 ` [PATCH AUTOSEL for 4.9 158/190] rtlwifi: rtl_pci: Fix the bug when inactiveps is enabled Sasha Levin
2018-03-08  5:00 ` [PATCH AUTOSEL for 4.9 159/190] media: bt8xx: Fix err 'bt878_probe()' Sasha Levin
2018-03-08  5:00 ` [PATCH AUTOSEL for 4.9 160/190] ath10k: handling qos at STA side based on AP WMM enable/disable Sasha Levin
2018-03-08  5:00 ` [PATCH AUTOSEL for 4.9 161/190] media: [RESEND] media: dvb-frontends: Add delay to Si2168 restart Sasha Levin
2018-03-08  5:00 ` [PATCH AUTOSEL for 4.9 162/190] qmi_wwan: set FLAG_SEND_ZLP to avoid network initiated disconnect Sasha Levin
2018-03-08  5:00 ` [PATCH AUTOSEL for 4.9 163/190] serial: 8250_dw: Disable clock on error Sasha Levin
2018-03-08  5:00 ` [PATCH AUTOSEL for 4.9 164/190] cros_ec: fix nul-termination for firmware build info Sasha Levin
2018-03-08  5:00 ` [PATCH AUTOSEL for 4.9 165/190] watchdog: Fix potential kref imbalance when opening watchdog Sasha Levin
2018-03-08  5:00 ` [PATCH AUTOSEL for 4.9 168/190] drm/tilcdc: ensure nonatomic iowrite64 is not used Sasha Levin
2018-03-08  5:00 ` [PATCH AUTOSEL for 4.9 166/190] platform/chrome: Use proper protocol transfer function Sasha Levin
2018-03-08  5:00 ` [PATCH AUTOSEL for 4.9 167/190] dmaengine: zynqmp_dma: Fix race condition in the probe Sasha Levin
2018-03-08  5:00 ` [PATCH AUTOSEL for 4.9 170/190] rtc: ac100: Fix multiple race conditions Sasha Levin
2018-03-08  5:00 ` [PATCH AUTOSEL for 4.9 169/190] mmc: avoid removing non-removable hosts during suspend Sasha Levin
2018-03-08  5:00 ` [PATCH AUTOSEL for 4.9 172/190] RDMA/cma: Use correct size when writing netlink stats Sasha Levin
2018-03-08  5:00 ` [PATCH AUTOSEL for 4.9 171/190] IB/ipoib: Avoid memory leak if the SA returns a different DGID Sasha Levin
2018-03-08  5:00 ` [PATCH AUTOSEL for 4.9 173/190] IB/umem: Fix use of npages/nmap fields Sasha Levin
2018-03-08  5:00 ` [PATCH AUTOSEL for 4.9 174/190] iser-target: avoid reinitializing rdma contexts for isert commands Sasha Levin
2018-03-08  5:00 ` [PATCH AUTOSEL for 4.9 175/190] vgacon: Set VGA struct resource types Sasha Levin
2018-03-08  5:00 ` [PATCH AUTOSEL for 4.9 176/190] omapdrm: panel: fix compatible vendor string for td028ttec1 Sasha Levin
2018-03-08  5:00 ` [PATCH AUTOSEL for 4.9 177/190] drm/omap: DMM: Check for DMM readiness after successful transaction commit Sasha Levin
2018-03-08  5:00 ` [PATCH AUTOSEL for 4.9 179/190] coresight: Fix disabling of CoreSight TPIU Sasha Levin
2018-03-08  5:00 ` [PATCH AUTOSEL for 4.9 178/190] pty: cancel pty slave port buf's work in tty_release Sasha Levin
2018-03-08  5:00 ` [PATCH AUTOSEL for 4.9 181/190] pinctrl: rockchip: enable clock when reading pin direction register Sasha Levin
2018-03-08  5:00 ` [PATCH AUTOSEL for 4.9 180/190] pinctrl: Really force states during suspend/resume Sasha Levin
2018-03-08  5:00 ` [PATCH AUTOSEL for 4.9 184/190] RDMA/ocrdma: Fix permissions for OCRDMA_RESET_STATS Sasha Levin
2018-03-08  5:00 ` [PATCH AUTOSEL for 4.9 183/190] ip6_vti: adjust vti mtu according to mtu of lower device Sasha Levin
2018-03-08  5:00 ` [PATCH AUTOSEL for 4.9 182/190] iommu/vt-d: clean up pr_irq if request_threaded_irq fails Sasha Levin
2018-03-08  5:00 ` [PATCH AUTOSEL for 4.9 186/190] nfsd4: permit layoutget of executable-only files Sasha Levin
2018-03-08  5:00 ` [PATCH AUTOSEL for 4.9 185/190] ARM: dts: aspeed-evb: Add unit name to memory node Sasha Levin
2018-03-08  5:00 ` [PATCH AUTOSEL for 4.9 188/190] clk: axi-clkgen: Correctly handle nocount bit in recalc_rate() Sasha Levin
2018-03-08  5:00 ` [PATCH AUTOSEL for 4.9 187/190] clk: Don't touch hardware when reparenting during registration Sasha Levin
2018-03-08  5:00 ` [PATCH AUTOSEL for 4.9 189/190] clk: si5351: Rename internal plls to avoid name collisions Sasha Levin
2018-03-08  5:00 ` [PATCH AUTOSEL for 4.9 190/190] dmaengine: ti-dma-crossbar: Fix event mapping for TPCC_EVT_MUX_60_63 Sasha Levin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20180308045810.8041-113-alexander.levin@microsoft.com \
    --to=alexander.levin@microsoft.com \
    --cc=dennis.dalessandro@intel.com \
    --cc=dledford@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=stable@vger.kernel.org \
    --cc=tadeusz.struk@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox