Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1553409
| From | Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
|---|---|
| Newsgroups | linux.kernel |
| Subject | [PATCH 4.9 061/116] scsi: zfcp: fix rport unblock race with LUN recovery |
| Date | 2017-01-06 23:50 +0100 |
| Message-ID | <sWLuH-4T-53@gated-at.bofh.it> (permalink) |
| References | <sWKIh-7VJ-3@gated-at.bofh.it> |
| Organization | linux.* mail to news gateway |
4.9-stable review patch. If anyone has any objections, please let me know.
------------------
From: Steffen Maier <maier@linux.vnet.ibm.com>
commit 6f2ce1c6af37191640ee3ff6e8fc39ea10352f4c upstream.
It is unavoidable that zfcp_scsi_queuecommand() has to finish requests
with DID_IMM_RETRY (like fc_remote_port_chkready()) during the time
window when zfcp detected an unavailable rport but
fc_remote_port_delete(), which is asynchronous via
zfcp_scsi_schedule_rport_block(), has not yet blocked the rport.
However, for the case when the rport becomes available again, we should
prevent unblocking the rport too early. In contrast to other FCP LLDDs,
zfcp has to open each LUN with the FCP channel hardware before it can
send I/O to a LUN. So if a port already has LUNs attached and we
unblock the rport just after port recovery, recoveries of LUNs behind
this port can still be pending which in turn force
zfcp_scsi_queuecommand() to unnecessarily finish requests with
DID_IMM_RETRY.
This also opens a time window with unblocked rport (until the followup
LUN reopen recovery has finished). If a scsi_cmnd timeout occurs during
this time window fc_timed_out() cannot work as desired and such command
would indeed time out and trigger scsi_eh. This prevents a clean and
timely path failover. This should not happen if the path issue can be
recovered on FC transport layer such as path issues involving RSCNs.
Fix this by only calling zfcp_scsi_schedule_rport_register(), to
asynchronously trigger fc_remote_port_add(), after all LUN recoveries as
children of the rport have finished and no new recoveries of equal or
higher order were triggered meanwhile. Finished intentionally includes
any recovery result no matter if successful or failed (still unblock
rport so other successful LUNs work). For simplicity, we check after
each finished LUN recovery if there is another LUN recovery pending on
the same port and then do nothing. We handle the special case of a
successful recovery of a port without LUN children the same way without
changing this case's semantics.
For debugging we introduce 2 new trace records written if the rport
unblock attempt was aborted due to still unfinished or freshly triggered
recovery. The records are only written above the default trace level.
Benjamin noticed the important special case of new recovery that can be
triggered between having given up the erp_lock and before calling
zfcp_erp_action_cleanup() within zfcp_erp_strategy(). We must avoid the
following sequence:
ERP thread rport_work other context
------------------------- -------------- --------------------------------
port is unblocked, rport still blocked,
due to pending/running ERP action,
so ((port->status & ...UNBLOCK) != 0)
and (port->rport == NULL)
unlock ERP
zfcp_erp_action_cleanup()
case ZFCP_ERP_ACTION_REOPEN_LUN:
zfcp_erp_try_rport_unblock()
((status & ...UNBLOCK) != 0) [OLD!]
zfcp_erp_port_reopen()
lock ERP
zfcp_erp_port_block()
port->status clear ...UNBLOCK
unlock ERP
zfcp_scsi_schedule_rport_block()
port->rport_task = RPORT_DEL
queue_work(rport_work)
zfcp_scsi_rport_work()
(port->rport_task != RPORT_ADD)
port->rport_task = RPORT_NONE
zfcp_scsi_rport_block()
if (!port->rport) return
zfcp_scsi_schedule_rport_register()
port->rport_task = RPORT_ADD
queue_work(rport_work)
zfcp_scsi_rport_work()
(port->rport_task == RPORT_ADD)
port->rport_task = RPORT_NONE
zfcp_scsi_rport_register()
(port->rport == NULL)
rport = fc_remote_port_add()
port->rport = rport;
Now the rport was erroneously unblocked while the zfcp_port is blocked.
This is another situation we want to avoid due to scsi_eh
potential. This state would at least remain until the new recovery from
the other context finished successfully, or potentially forever if it
failed. In order to close this race, we take the erp_lock inside
zfcp_erp_try_rport_unblock() when checking the status of zfcp_port or
LUN. With that, the possible corresponding rport state sequences would
be: (unblock[ERP thread],block[other context]) if the ERP thread gets
erp_lock first and still sees ((port->status & ...UNBLOCK) != 0),
(block[other context],NOP[ERP thread]) if the ERP thread gets erp_lock
after the other context has already cleard ...UNBLOCK from port->status.
Since checking fields of struct erp_action is unsafe because they could
have been overwritten (re-used for new recovery) meanwhile, we only
check status of zfcp_port and LUN since these are only changed under
erp_lock elsewhere. Regarding the check of the proper status flags (port
or port_forced are similar to the shown adapter recovery):
[zfcp_erp_adapter_shutdown()]
zfcp_erp_adapter_reopen()
zfcp_erp_adapter_block()
* clear UNBLOCK ---------------------------------------+
zfcp_scsi_schedule_rports_block() |
write_lock_irqsave(&adapter->erp_lock, flags);-------+ |
zfcp_erp_action_enqueue() | |
zfcp_erp_setup_act() | |
* set ERP_INUSE -----------------------------------|--|--+
write_unlock_irqrestore(&adapter->erp_lock, flags);--+ | |
.context-switch. | |
zfcp_erp_thread() | |
zfcp_erp_strategy() | |
write_lock_irqsave(&adapter->erp_lock, flags);------+ | |
... | | |
zfcp_erp_strategy_check_target() | | |
zfcp_erp_strategy_check_adapter() | | |
zfcp_erp_adapter_unblock() | | |
* set UNBLOCK -----------------------------------|--+ |
zfcp_erp_action_dequeue() | |
* clear ERP_INUSE ---------------------------------|-----+
... |
write_unlock_irqrestore(&adapter->erp_lock, flags);-+
Hence, we should check for both UNBLOCK and ERP_INUSE because they are
interleaved. Also we need to explicitly check ERP_FAILED for the link
down case which currently does not clear the UNBLOCK flag in
zfcp_fsf_link_down_info_eval().
Signed-off-by: Steffen Maier <maier@linux.vnet.ibm.com>
Fixes: 8830271c4819 ("[SCSI] zfcp: Dont fail SCSI commands when transitioning to blocked fc_rport")
Fixes: a2fa0aede07c ("[SCSI] zfcp: Block FC transport rports early on errors")
Fixes: 5f852be9e11d ("[SCSI] zfcp: Fix deadlock between zfcp ERP and SCSI")
Fixes: 338151e06608 ("[SCSI] zfcp: make use of fc_remote_port_delete when target port is unavailable")
Fixes: 3859f6a248cb ("[PATCH] zfcp: add rports to enable scsi_add_device to work again")
Reviewed-by: Benjamin Block <bblock@linux.vnet.ibm.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
drivers/s390/scsi/zfcp_dbf.c | 17 +++++++++--
drivers/s390/scsi/zfcp_erp.c | 61 ++++++++++++++++++++++++++++++++++++++++--
drivers/s390/scsi/zfcp_ext.h | 4 ++
drivers/s390/scsi/zfcp_scsi.c | 4 --
4 files changed, 77 insertions(+), 9 deletions(-)
--- a/drivers/s390/scsi/zfcp_dbf.c
+++ b/drivers/s390/scsi/zfcp_dbf.c
@@ -289,11 +289,12 @@ void zfcp_dbf_rec_trig(char *tag, struct
/**
- * zfcp_dbf_rec_run - trace event related to running recovery
+ * zfcp_dbf_rec_run_lvl - trace event related to running recovery
+ * @level: trace level to be used for event
* @tag: identifier for event
* @erp: erp_action running
*/
-void zfcp_dbf_rec_run(char *tag, struct zfcp_erp_action *erp)
+void zfcp_dbf_rec_run_lvl(int level, char *tag, struct zfcp_erp_action *erp)
{
struct zfcp_dbf *dbf = erp->adapter->dbf;
struct zfcp_dbf_rec *rec = &dbf->rec_buf;
@@ -319,11 +320,21 @@ void zfcp_dbf_rec_run(char *tag, struct
else
rec->u.run.rec_count = atomic_read(&erp->adapter->erp_counter);
- debug_event(dbf->rec, 1, rec, sizeof(*rec));
+ debug_event(dbf->rec, level, rec, sizeof(*rec));
spin_unlock_irqrestore(&dbf->rec_lock, flags);
}
/**
+ * zfcp_dbf_rec_run - trace event related to running recovery
+ * @tag: identifier for event
+ * @erp: erp_action running
+ */
+void zfcp_dbf_rec_run(char *tag, struct zfcp_erp_action *erp)
+{
+ zfcp_dbf_rec_run_lvl(1, tag, erp);
+}
+
+/**
* zfcp_dbf_rec_run_wka - trace wka port event with info like running recovery
* @tag: identifier for event
* @wka_port: well known address port
--- a/drivers/s390/scsi/zfcp_erp.c
+++ b/drivers/s390/scsi/zfcp_erp.c
@@ -3,7 +3,7 @@
*
* Error Recovery Procedures (ERP).
*
- * Copyright IBM Corp. 2002, 2015
+ * Copyright IBM Corp. 2002, 2016
*/
#define KMSG_COMPONENT "zfcp"
@@ -1204,6 +1204,62 @@ static void zfcp_erp_action_dequeue(stru
}
}
+/**
+ * zfcp_erp_try_rport_unblock - unblock rport if no more/new recovery
+ * @port: zfcp_port whose fc_rport we should try to unblock
+ */
+static void zfcp_erp_try_rport_unblock(struct zfcp_port *port)
+{
+ unsigned long flags;
+ struct zfcp_adapter *adapter = port->adapter;
+ int port_status;
+ struct Scsi_Host *shost = adapter->scsi_host;
+ struct scsi_device *sdev;
+
+ write_lock_irqsave(&adapter->erp_lock, flags);
+ port_status = atomic_read(&port->status);
+ if ((port_status & ZFCP_STATUS_COMMON_UNBLOCKED) == 0 ||
+ (port_status & (ZFCP_STATUS_COMMON_ERP_INUSE |
+ ZFCP_STATUS_COMMON_ERP_FAILED)) != 0) {
+ /* new ERP of severity >= port triggered elsewhere meanwhile or
+ * local link down (adapter erp_failed but not clear unblock)
+ */
+ zfcp_dbf_rec_run_lvl(4, "ertru_p", &port->erp_action);
+ write_unlock_irqrestore(&adapter->erp_lock, flags);
+ return;
+ }
+ spin_lock(shost->host_lock);
+ __shost_for_each_device(sdev, shost) {
+ struct zfcp_scsi_dev *zsdev = sdev_to_zfcp(sdev);
+ int lun_status;
+
+ if (zsdev->port != port)
+ continue;
+ /* LUN under port of interest */
+ lun_status = atomic_read(&zsdev->status);
+ if ((lun_status & ZFCP_STATUS_COMMON_ERP_FAILED) != 0)
+ continue; /* unblock rport despite failed LUNs */
+ /* LUN recovery not given up yet [maybe follow-up pending] */
+ if ((lun_status & ZFCP_STATUS_COMMON_UNBLOCKED) == 0 ||
+ (lun_status & ZFCP_STATUS_COMMON_ERP_INUSE) != 0) {
+ /* LUN blocked:
+ * not yet unblocked [LUN recovery pending]
+ * or meanwhile blocked [new LUN recovery triggered]
+ */
+ zfcp_dbf_rec_run_lvl(4, "ertru_l", &zsdev->erp_action);
+ spin_unlock(shost->host_lock);
+ write_unlock_irqrestore(&adapter->erp_lock, flags);
+ return;
+ }
+ }
+ /* now port has no child or all children have completed recovery,
+ * and no ERP of severity >= port was meanwhile triggered elsewhere
+ */
+ zfcp_scsi_schedule_rport_register(port);
+ spin_unlock(shost->host_lock);
+ write_unlock_irqrestore(&adapter->erp_lock, flags);
+}
+
static void zfcp_erp_action_cleanup(struct zfcp_erp_action *act, int result)
{
struct zfcp_adapter *adapter = act->adapter;
@@ -1214,6 +1270,7 @@ static void zfcp_erp_action_cleanup(stru
case ZFCP_ERP_ACTION_REOPEN_LUN:
if (!(act->status & ZFCP_STATUS_ERP_NO_REF))
scsi_device_put(sdev);
+ zfcp_erp_try_rport_unblock(port);
break;
case ZFCP_ERP_ACTION_REOPEN_PORT:
@@ -1224,7 +1281,7 @@ static void zfcp_erp_action_cleanup(stru
*/
if (act->step != ZFCP_ERP_STEP_UNINITIALIZED)
if (result == ZFCP_ERP_SUCCEEDED)
- zfcp_scsi_schedule_rport_register(port);
+ zfcp_erp_try_rport_unblock(port);
/* fall through */
case ZFCP_ERP_ACTION_REOPEN_PORT_FORCED:
put_device(&port->dev);
--- a/drivers/s390/scsi/zfcp_ext.h
+++ b/drivers/s390/scsi/zfcp_ext.h
@@ -3,7 +3,7 @@
*
* External function declarations.
*
- * Copyright IBM Corp. 2002, 2015
+ * Copyright IBM Corp. 2002, 2016
*/
#ifndef ZFCP_EXT_H
@@ -35,6 +35,8 @@ extern void zfcp_dbf_adapter_unregister(
extern void zfcp_dbf_rec_trig(char *, struct zfcp_adapter *,
struct zfcp_port *, struct scsi_device *, u8, u8);
extern void zfcp_dbf_rec_run(char *, struct zfcp_erp_action *);
+extern void zfcp_dbf_rec_run_lvl(int level, char *tag,
+ struct zfcp_erp_action *erp);
extern void zfcp_dbf_rec_run_wka(char *, struct zfcp_fc_wka_port *, u64);
extern void zfcp_dbf_hba_fsf_uss(char *, struct zfcp_fsf_req *);
extern void zfcp_dbf_hba_fsf_res(char *, int, struct zfcp_fsf_req *);
--- a/drivers/s390/scsi/zfcp_scsi.c
+++ b/drivers/s390/scsi/zfcp_scsi.c
@@ -88,9 +88,7 @@ int zfcp_scsi_queuecommand(struct Scsi_H
}
if (unlikely(!(status & ZFCP_STATUS_COMMON_UNBLOCKED))) {
- /* This could be either
- * open LUN pending: this is temporary, will result in
- * open LUN or ERP_FAILED, so retry command
+ /* This could be
* call to rport_delete pending: mimic retry from
* fc_remote_port_chkready until rport is BLOCKED
*/
Back to linux.kernel | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
[PATCH 4.9 000/116] 4.9.2-stable review Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2017-01-06 23:00 +0100
[PATCH 4.9 022/116] docs: sphinx-extensions: make rstFlatTable work with docutils 0.13 Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2017-01-06 23:00 +0100
[PATCH 4.9 029/116] ACPI / video: Add force_native quirk for HP Pavilion dv6 Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2017-01-06 23:00 +0100
[PATCH 4.9 049/116] drm/amdgpu: fix init save/restore list in gfx_v8.0 Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2017-01-06 23:00 +0100
[PATCH 4.9 002/116] ath10k: fix soft lockup during firmware crash/hw-restart Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2017-01-06 23:00 +0100
[PATCH 4.9 078/116] platform/x86: asus-nb-wmi.c: Add X45U quirk Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2017-01-06 23:10 +0100
[PATCH 4.9 053/116] block: protect iterate_bdevs() against concurrent close Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2017-01-06 23:10 +0100
[PATCH 4.9 040/116] drm/nouveau/i2c/gk110b,gm10x: use the correct implementation Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2017-01-06 23:10 +0100
[PATCH 4.9 076/116] vsock/virtio: fix src/dst cid format Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2017-01-06 23:10 +0100
[PATCH 4.9 084/116] IB/rxe: Fix a memory leak in rxe_qp_cleanup() Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2017-01-06 23:10 +0100
[PATCH 4.9 039/116] drm/nouveau/ttm: wait for bo fence to signal before unmapping vmas Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2017-01-06 23:10 +0100
[PATCH 4.9 110/116] net: mvpp2: fix dma unmapping of TX buffers for fragments Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2017-01-06 23:10 +0100
[PATCH 4.9 050/116] drivers/gpu/drm/ast: Fix infinite loop if read fails Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2017-01-06 23:10 +0100
[PATCH 4.9 103/116] powerpc/ps3: Fix system hang with GCC 5 builds Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2017-01-06 23:10 +0100
[PATCH 4.9 099/116] pNFS: Clear NFS_LAYOUT_RETURN_REQUESTED when invalidating the layout stateid Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2017-01-06 23:10 +0100
[PATCH 4.9 081/116] IB/mad: Fix an array index check Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2017-01-06 23:10 +0100
[PATCH 4.9 080/116] fgraph: Handle a case where a tracer ignores set_graph_notrace Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2017-01-06 23:10 +0100
[PATCH 4.9 090/116] [media] v4l: tvp5150: Add missing break in set control handler Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2017-01-06 23:10 +0100
[PATCH 4.9 051/116] mei: request async autosuspend at the end of enumeration Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2017-01-06 23:10 +0100
[PATCH 4.9 097/116] pNFS: On error, do not send LAYOUTGET until the LAYOUTRETURN has completed Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2017-01-06 23:10 +0100
[PATCH 4.9 096/116] nfs_write_end(): fix handling of short copies Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2017-01-06 23:10 +0100
[PATCH 4.9 077/116] ftrace/x86_32: Set ftrace_stub to weak to prevent gcc from using short jumps to it Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2017-01-06 23:10 +0100
[PATCH 4.9 089/116] [media] media: solo6x10: fix lockup by avoiding delayed register write Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2017-01-06 23:10 +0100
[PATCH 4.9 107/116] target/user: Fix use-after-free of tcmu_cmds if they are expired Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2017-01-06 23:10 +0100
[PATCH 4.9 072/116] KVM: PPC: Book3S HV: Save/restore XER in checkpointed register state Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2017-01-06 23:10 +0100
[PATCH 4.9 037/116] drm/nouveau/bios: require checksum to match for fast acpi shadow method Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2017-01-06 23:10 +0100
[PATCH 4.9 108/116] kconfig/nconf: Fix hang when editing symbol with a long prompt Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2017-01-06 23:10 +0100
[PATCH 4.9 098/116] pNFS: Dont clear the layout stateid if a layout return is outstanding Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2017-01-06 23:10 +0100
[PATCH 4.9 070/116] md/raid5: limit request size according to implementation limits Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2017-01-06 23:10 +0100
[PATCH 4.9 109/116] sg_write()/bsg_write() is not fit to be called under KERNEL_DS Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2017-01-06 23:10 +0100
[PATCH 4.9 116/116] drm/i915: Fix setting of boost freq tunable Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2017-01-06 23:20 +0100
[PATCH 4.9 101/116] SUNRPC: fix refcounting problems with auth_gss messages. Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2017-01-06 23:30 +0100
[PATCH 4.9 074/116] kvm: nVMX: Allow L1 to intercept software exceptions (#BP and #OF) Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2017-01-06 23:30 +0100
[PATCH 4.9 105/116] of, numa: Return NUMA_NO_NODE from disable of_node_to_nid() if nid not possible. Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2017-01-06 23:30 +0100
[PATCH 4.9 102/116] powerpc/64e: Convert cmpi to cmpwi in head_64.S Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2017-01-06 23:30 +0100
[PATCH 4.9 079/116] x86/smpboot: Make logical package management more robust Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2017-01-06 23:30 +0100
[PATCH 4.9 115/116] drm/i915: skip the first 4k of stolen memory on everything >= gen8 Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2017-01-06 23:30 +0100
[PATCH 4.9 069/116] sc16is7xx: Drop bogus use of IRQF_ONESHOT Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2017-01-06 23:30 +0100
[PATCH 4.9 104/116] powerpc/boot: Request no dynamic linker for boot wrapper Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2017-01-06 23:30 +0100
[PATCH 4.9 106/116] libnvdimm, pfn: fix align attribute Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2017-01-06 23:30 +0100
[PATCH 4.9 071/116] scsi: aacraid: remove wildcard for series 9 controllers Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2017-01-06 23:30 +0100
[PATCH 4.9 075/116] fsnotify: Fix possible use-after-free in inode iteration on umount Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2017-01-06 23:30 +0100
[PATCH 4.9 100/116] pNFS: Fix a deadlock between read resends and layoutreturn Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2017-01-06 23:30 +0100
[PATCH 4.9 082/116] IPoIB: Avoid reading an uninitialized member variable Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2017-01-06 23:40 +0100
[PATCH 4.9 068/116] latent_entropy: fix ARM build error on earlier gcc Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2017-01-06 23:40 +0100
[PATCH 4.9 073/116] KVM: PPC: Book3S HV: Dont lose hardware R/C bit updates in H_PROTECT Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2017-01-06 23:40 +0100
[PATCH 4.9 091/116] Input: drv260x - fix input devices parent assignment Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2017-01-06 23:40 +0100
[PATCH 4.9 088/116] [media] s5p-mfc: fix failure path of s5p_mfc_alloc_memdev() Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2017-01-06 23:40 +0100
[PATCH 4.9 093/116] i40iw: Use correct src address in memcpy to rdma stats counters Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2017-01-06 23:40 +0100
[PATCH 4.9 035/116] drm/nouveau/gr: fallback to legacy paths during firmware lookup Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2017-01-06 23:40 +0100
[PATCH 4.9 086/116] [media] mn88472: fix chip id check on probe Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2017-01-06 23:40 +0100
[PATCH 4.9 087/116] [media] mn88473: fix chip id check on probe Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2017-01-06 23:40 +0100
[PATCH 4.9 095/116] libceph: verify authorize reply on connect Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2017-01-06 23:40 +0100
[PATCH 4.9 067/116] arm64: KVM: pmu: Reset PMSELR_EL0.SEL to a sane value before entering the guest Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2017-01-06 23:40 +0100
[PATCH 4.9 038/116] drm/nouveau/ltc: protect clearing of comptags with mutex Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2017-01-06 23:40 +0100
[PATCH 4.9 092/116] bad_inode: add missing i_op initializers Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2017-01-06 23:40 +0100
[PATCH 4.9 036/116] drm/nouveau/kms: lvds panel strap moved again on maxwell Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2017-01-06 23:40 +0100
[PATCH 4.9 085/116] IB/cma: Fix a race condition in iboe_addr_get_sgid() Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2017-01-06 23:40 +0100
[PATCH 4.9 094/116] PCI: Check for PME in targeted sleep state Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2017-01-06 23:40 +0100
[PATCH 4.9 031/116] drm/amdgpu: add additional pci revision to dpm workaround Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2017-01-06 23:40 +0100
[PATCH 4.9 083/116] IB/multicast: Check ib_find_pkey() return value Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2017-01-06 23:40 +0100
[PATCH 4.9 066/116] s390/kexec: use node 0 when re-adding crash kernel memory Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2017-01-06 23:50 +0100
[PATCH 4.9 060/116] scsi: zfcp: do not trace pure benign residual HBA responses at default level Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2017-01-06 23:50 +0100
[PATCH 4.9 063/116] ARC: mm: arc700: Dont assume 2 colours for aliasing VIPT dcache Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2017-01-06 23:50 +0100
[PATCH 4.9 048/116] drm/amdgpu: fix enable_cp_power_gating in gfx_v8.0. Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2017-01-06 23:50 +0100
[PATCH 4.9 059/116] scsi: zfcp: fix use-after-"free" in FC ingress path after TMF Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2017-01-06 23:50 +0100
[PATCH 4.9 054/116] vt: fix Scroll Lock LED trigger name Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2017-01-06 23:50 +0100
[PATCH 4.9 052/116] mei: me: add lewisburg device ids Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2017-01-06 23:50 +0100
[PATCH 4.9 064/116] firmware: fix usermode helper fallback loading Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2017-01-06 23:50 +0100
[PATCH 4.9 009/116] ath9k: fix ath9k_hw_gpio_get() to return 0 or 1 on success Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2017-01-06 23:50 +0100
[PATCH 4.9 065/116] s390/vmlogrdr: fix IUCV buffer allocation Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2017-01-06 23:50 +0100
[PATCH 4.9 034/116] drm/amd/amdgpu: enable GUI idle INT after enabling CGCG Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2017-01-06 23:50 +0100
[PATCH 4.9 055/116] stm class: Fix device leak in open error path Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2017-01-06 23:50 +0100
[PATCH 4.9 062/116] scsi: avoid a permanent stop of the scsi devices request queue Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2017-01-06 23:50 +0100
[PATCH 4.9 058/116] iscsi-target: Return error if unable to add network portal Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2017-01-06 23:50 +0100
[PATCH 4.9 057/116] scsi: megaraid_sas: Do not set MPI2_TYPE_CUDA for JBOD FP path for FW which does not support JBOD sequence map Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2017-01-06 23:50 +0100
[PATCH 4.9 061/116] scsi: zfcp: fix rport unblock race with LUN recovery Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2017-01-06 23:50 +0100
[PATCH 4.9 046/116] drm/gma500: Add compat ioctl Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2017-01-06 23:50 +0100
[PATCH 4.9 056/116] scsi: megaraid_sas: For SRIOV enabled firmware, ensure VF driver waits for 30secs before reset Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2017-01-06 23:50 +0100
[PATCH 4.9 008/116] cfg80211/mac80211: fix BSS leaks when abandoning assoc attempts Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2017-01-06 23:50 +0100
[PATCH 4.9 005/116] perf annotate: Dont throw error for zero length symbols Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2017-01-06 23:50 +0100
[PATCH 4.9 026/116] staging: comedi: ni_mio_common: fix M Series ni_ai_insn_read() data mask Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2017-01-07 00:00 +0100
[PATCH 4.9 011/116] ath9k: do not return early to fix rcu unlocking Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2017-01-07 00:00 +0100
[PATCH 4.9 019/116] arm64: tegra: Add VDD_GPU regulator to Jetson TX1 Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2017-01-07 00:00 +0100
[PATCH 4.9 012/116] Revert "mmc: sdhci: Reset cmd and data circuits after tuning failure" Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2017-01-07 00:00 +0100
[PATCH 4.9 030/116] drm/amdgpu/si: load the proper firmware on 0x87 oland boards Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2017-01-07 00:00 +0100
[PATCH 4.9 025/116] staging: lustre: ldlm: pl_recalc time handling is wrong Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2017-01-07 00:00 +0100
[PATCH 4.9 023/116] hv: acquire vmbus_connection.channel_mutex in vmbus_free_channels() Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2017-01-07 00:00 +0100
[PATCH 4.9 024/116] staging/lustre/osc: Revert erroneous list_for_each_entry_safe use Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2017-01-07 00:00 +0100
[PATCH 4.9 003/116] rtlwifi: Fix enter/exit power_save Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2017-01-07 00:00 +0100
Re: [PATCH 4.9 003/116] rtlwifi: Fix enter/exit power_save Dmitry Osipenko <digetx@gmail.com> - 2017-01-10 18:50 +0100
Re: [PATCH 4.9 003/116] rtlwifi: Fix enter/exit power_save Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2017-01-10 21:50 +0100
Re: [PATCH 4.9 003/116] rtlwifi: Fix enter/exit power_save lkml@pengaru.com - 2017-01-10 22:30 +0100
Re: [PATCH 4.9 003/116] rtlwifi: Fix enter/exit power_save Willy Tarreau <w@1wt.eu> - 2017-01-10 23:00 +0100
Re: [PATCH 4.9 003/116] rtlwifi: Fix enter/exit power_save Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2017-01-12 08:40 +0100
Re: [PATCH 4.9 003/116] rtlwifi: Fix enter/exit power_save Dmitry Osipenko <digetx@gmail.com> - 2017-01-12 09:50 +0100
Re: [PATCH 4.9 003/116] rtlwifi: Fix enter/exit power_save Kalle Valo <kvalo@codeaurora.org> - 2017-01-13 07:50 +0100
Re: [PATCH 4.9 003/116] rtlwifi: Fix enter/exit power_save Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2017-01-13 12:00 +0100
Re: [PATCH 4.9 003/116] rtlwifi: Fix enter/exit power_save Larry Finger <Larry.Finger@lwfinger.net> - 2017-01-11 03:00 +0100
Re: [PATCH 4.9 003/116] rtlwifi: Fix enter/exit power_save Larry Finger <Larry.Finger@lwfinger.net> - 2017-01-11 03:00 +0100
Re: [PATCH 4.9 003/116] rtlwifi: Fix enter/exit power_save Dmitry Osipenko <digetx@gmail.com> - 2017-01-12 09:50 +0100
Re: [PATCH 4.9 000/116] 4.9.2-stable review Shuah Khan <shuah.kh@samsung.com> - 2017-01-07 03:10 +0100
Re: [PATCH 4.9 000/116] 4.9.2-stable review Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2017-01-07 14:20 +0100
Re: [PATCH 4.9 000/116] 4.9.2-stable review Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2017-01-07 14:30 +0100
Re: [PATCH 4.9 000/116] 4.9.2-stable review Kevin Hilman <khilman@baylibre.com> - 2017-01-09 19:20 +0100
Re: [PATCH 4.9 000/116] 4.9.2-stable review Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2017-01-10 11:20 +0100
Re: [PATCH 4.9 000/116] 4.9.2-stable review Guenter Roeck <linux@roeck-us.net> - 2017-01-07 17:10 +0100
Re: [PATCH 4.9 000/116] 4.9.2-stable review Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2017-01-07 17:20 +0100
csiph-web