From: alexander.levin@verizon.com
To: "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"stable@vger.kernel.org" <stable@vger.kernel.org>
Cc: Sara Sharon <sara.sharon@intel.com>,
Luca Coelho <luciano.coelho@intel.com>,
Kalle Valo <kvalo@codeaurora.org>,
alexander.levin@verizon.com
Subject: [PATCH AUTOSEL for 4.9 047/156] iwlwifi: mvm: cleanup pending frames in DQA mode
Date: Thu, 7 Dec 2017 15:49:06 +0000 [thread overview]
Message-ID: <20171207154845.4814-47-alexander.levin@verizon.com> (raw)
In-Reply-To: <20171207154845.4814-1-alexander.levin@verizon.com>
From: Sara Sharon <sara.sharon@intel.com>
[ Upstream commit 9a3fcf912ef7f5c6e18f9af6875dd13f7311f7aa ]
When a station is asleep, the fw will set it as "asleep".
All queues that are used only by one station will be stopped by
the fw.
In pre-DQA mode this was relevant for aggregation queues. However,
in DQA mode a queue is owned by one station only, so all queues
will be stopped.
As a result, we don't expect to get filtered frames back to
mac80211 and don't have to maintain the entire pending_frames
state logic, the same way as we do in aggregations.
The correct behavior is to align DQA behavior with the aggregation
queue behaviour pre-DQA:
- Don't count pending frames.
- Let mac80211 know we have frames in these queues so that it can
properly handle trigger frames.
When a trigger frame is received, mac80211 tells the driver to send
frames from the queues using release_buffered_frames.
The driver will tell the fw to let frames out even if the station
is asleep. This is done by iwl_mvm_sta_modify_sleep_tx_count.
Reported-and-tested-by: Jens Axboe <axboe@kernel.dk>
Reported-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Sara Sharon <sara.sharon@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
---
drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c | 5 +--
drivers/net/wireless/intel/iwlwifi/mvm/sta.c | 11 +++---
drivers/net/wireless/intel/iwlwifi/mvm/sta.h | 2 +-
drivers/net/wireless/intel/iwlwifi/mvm/tx.c | 41 ++++++++++-------------
4 files changed, 28 insertions(+), 31 deletions(-)
diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c b/drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c
index 9789f3c5a785..f1231c0ea336 100644
--- a/drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c
+++ b/drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c
@@ -2320,7 +2320,7 @@ iwl_mvm_mac_release_buffered_frames(struct ieee80211_hw *hw,
{
struct iwl_mvm *mvm = IWL_MAC80211_GET_MVM(hw);
- /* Called when we need to transmit (a) frame(s) from agg queue */
+ /* Called when we need to transmit (a) frame(s) from agg or dqa queue */
iwl_mvm_sta_modify_sleep_tx_count(mvm, sta, reason, num_frames,
tids, more_data, true);
@@ -2340,7 +2340,8 @@ static void iwl_mvm_mac_sta_notify(struct ieee80211_hw *hw,
for (tid = 0; tid < IWL_MAX_TID_COUNT; tid++) {
struct iwl_mvm_tid_data *tid_data = &mvmsta->tid_data[tid];
- if (tid_data->state != IWL_AGG_ON &&
+ if (!iwl_mvm_is_dqa_supported(mvm) &&
+ tid_data->state != IWL_AGG_ON &&
tid_data->state != IWL_EMPTYING_HW_QUEUE_DELBA)
continue;
diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/sta.c b/drivers/net/wireless/intel/iwlwifi/mvm/sta.c
index e64aeb4a2204..bdd1deed55a4 100644
--- a/drivers/net/wireless/intel/iwlwifi/mvm/sta.c
+++ b/drivers/net/wireless/intel/iwlwifi/mvm/sta.c
@@ -3032,7 +3032,7 @@ void iwl_mvm_sta_modify_sleep_tx_count(struct iwl_mvm *mvm,
struct ieee80211_sta *sta,
enum ieee80211_frame_release_type reason,
u16 cnt, u16 tids, bool more_data,
- bool agg)
+ bool single_sta_queue)
{
struct iwl_mvm_sta *mvmsta = iwl_mvm_sta_from_mac80211(sta);
struct iwl_mvm_add_sta_cmd cmd = {
@@ -3052,14 +3052,14 @@ void iwl_mvm_sta_modify_sleep_tx_count(struct iwl_mvm *mvm,
for_each_set_bit(tid, &_tids, IWL_MAX_TID_COUNT)
cmd.awake_acs |= BIT(tid_to_ucode_ac[tid]);
- /* If we're releasing frames from aggregation queues then check if the
- * all queues combined that we're releasing frames from have
+ /* If we're releasing frames from aggregation or dqa queues then check
+ * if all the queues that we're releasing frames from, combined, have:
* - more frames than the service period, in which case more_data
* needs to be set
* - fewer than 'cnt' frames, in which case we need to adjust the
* firmware command (but do that unconditionally)
*/
- if (agg) {
+ if (single_sta_queue) {
int remaining = cnt;
int sleep_tx_count;
@@ -3069,7 +3069,8 @@ void iwl_mvm_sta_modify_sleep_tx_count(struct iwl_mvm *mvm,
u16 n_queued;
tid_data = &mvmsta->tid_data[tid];
- if (WARN(tid_data->state != IWL_AGG_ON &&
+ if (WARN(!iwl_mvm_is_dqa_supported(mvm) &&
+ tid_data->state != IWL_AGG_ON &&
tid_data->state != IWL_EMPTYING_HW_QUEUE_DELBA,
"TID %d state is %d\n",
tid, tid_data->state)) {
diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/sta.h b/drivers/net/wireless/intel/iwlwifi/mvm/sta.h
index e068d5355865..f65950e91ed5 100644
--- a/drivers/net/wireless/intel/iwlwifi/mvm/sta.h
+++ b/drivers/net/wireless/intel/iwlwifi/mvm/sta.h
@@ -545,7 +545,7 @@ void iwl_mvm_sta_modify_sleep_tx_count(struct iwl_mvm *mvm,
struct ieee80211_sta *sta,
enum ieee80211_frame_release_type reason,
u16 cnt, u16 tids, bool more_data,
- bool agg);
+ bool single_sta_queue);
int iwl_mvm_drain_sta(struct iwl_mvm *mvm, struct iwl_mvm_sta *mvmsta,
bool drain);
void iwl_mvm_sta_modify_disable_tx(struct iwl_mvm *mvm,
diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/tx.c b/drivers/net/wireless/intel/iwlwifi/mvm/tx.c
index 092ae0024f22..7465d4db136f 100644
--- a/drivers/net/wireless/intel/iwlwifi/mvm/tx.c
+++ b/drivers/net/wireless/intel/iwlwifi/mvm/tx.c
@@ -7,7 +7,7 @@
*
* Copyright(c) 2012 - 2014 Intel Corporation. All rights reserved.
* Copyright(c) 2013 - 2015 Intel Mobile Communications GmbH
- * Copyright(c) 2016 Intel Deutschland GmbH
+ * Copyright(c) 2016 - 2017 Intel Deutschland GmbH
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of version 2 of the GNU General Public License as
@@ -34,6 +34,7 @@
*
* Copyright(c) 2012 - 2014 Intel Corporation. All rights reserved.
* Copyright(c) 2013 - 2015 Intel Mobile Communications GmbH
+ * Copyright(c) 2016 - 2017 Intel Deutschland GmbH
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -621,8 +622,10 @@ int iwl_mvm_tx_skb_non_sta(struct iwl_mvm *mvm, struct sk_buff *skb)
* values.
* Note that we don't need to make sure it isn't agg'd, since we're
* TXing non-sta
+ * For DQA mode - we shouldn't increase it though
*/
- atomic_inc(&mvm->pending_frames[sta_id]);
+ if (!iwl_mvm_is_dqa_supported(mvm))
+ atomic_inc(&mvm->pending_frames[sta_id]);
return 0;
}
@@ -1009,11 +1012,8 @@ static int iwl_mvm_tx_mpdu(struct iwl_mvm *mvm, struct sk_buff *skb,
spin_unlock(&mvmsta->lock);
- /* Increase pending frames count if this isn't AMPDU */
- if ((iwl_mvm_is_dqa_supported(mvm) &&
- mvmsta->tid_data[tx_cmd->tid_tspec].state != IWL_AGG_ON &&
- mvmsta->tid_data[tx_cmd->tid_tspec].state != IWL_AGG_STARTING) ||
- (!iwl_mvm_is_dqa_supported(mvm) && !is_ampdu))
+ /* Increase pending frames count if this isn't AMPDU or DQA queue */
+ if (!iwl_mvm_is_dqa_supported(mvm) && !is_ampdu)
atomic_inc(&mvm->pending_frames[mvmsta->sta_id]);
return 0;
@@ -1083,12 +1083,13 @@ static void iwl_mvm_check_ratid_empty(struct iwl_mvm *mvm,
lockdep_assert_held(&mvmsta->lock);
if ((tid_data->state == IWL_AGG_ON ||
- tid_data->state == IWL_EMPTYING_HW_QUEUE_DELBA) &&
+ tid_data->state == IWL_EMPTYING_HW_QUEUE_DELBA ||
+ iwl_mvm_is_dqa_supported(mvm)) &&
iwl_mvm_tid_queued(tid_data) == 0) {
/*
- * Now that this aggregation queue is empty tell mac80211 so it
- * knows we no longer have frames buffered for the station on
- * this TID (for the TIM bitmap calculation.)
+ * Now that this aggregation or DQA queue is empty tell
+ * mac80211 so it knows we no longer have frames buffered for
+ * the station on this TID (for the TIM bitmap calculation.)
*/
ieee80211_sta_set_buffered(sta, tid, false);
}
@@ -1261,7 +1262,6 @@ static void iwl_mvm_rx_tx_cmd_single(struct iwl_mvm *mvm,
u8 skb_freed = 0;
u16 next_reclaimed, seq_ctl;
bool is_ndp = false;
- bool txq_agg = false; /* Is this TXQ aggregated */
__skb_queue_head_init(&skbs);
@@ -1287,6 +1287,10 @@ static void iwl_mvm_rx_tx_cmd_single(struct iwl_mvm *mvm,
info->flags |= IEEE80211_TX_STAT_ACK;
break;
case TX_STATUS_FAIL_DEST_PS:
+ /* In DQA, the FW should have stopped the queue and not
+ * return this status
+ */
+ WARN_ON(iwl_mvm_is_dqa_supported(mvm));
info->flags |= IEEE80211_TX_STAT_TX_FILTERED;
break;
default:
@@ -1391,15 +1395,6 @@ static void iwl_mvm_rx_tx_cmd_single(struct iwl_mvm *mvm,
bool send_eosp_ndp = false;
spin_lock_bh(&mvmsta->lock);
- if (iwl_mvm_is_dqa_supported(mvm)) {
- enum iwl_mvm_agg_state state;
-
- state = mvmsta->tid_data[tid].state;
- txq_agg = (state == IWL_AGG_ON ||
- state == IWL_EMPTYING_HW_QUEUE_DELBA);
- } else {
- txq_agg = txq_id >= mvm->first_agg_queue;
- }
if (!is_ndp) {
tid_data->next_reclaimed = next_reclaimed;
@@ -1456,11 +1451,11 @@ static void iwl_mvm_rx_tx_cmd_single(struct iwl_mvm *mvm,
* If the txq is not an AMPDU queue, there is no chance we freed
* several skbs. Check that out...
*/
- if (txq_agg)
+ if (iwl_mvm_is_dqa_supported(mvm) || txq_id >= mvm->first_agg_queue)
goto out;
/* We can't free more than one frame at once on a shared queue */
- WARN_ON(!iwl_mvm_is_dqa_supported(mvm) && (skb_freed > 1));
+ WARN_ON(skb_freed > 1);
/* If we have still frames for this STA nothing to do here */
if (!atomic_sub_and_test(skb_freed, &mvm->pending_frames[sta_id]))
--
2.11.0
next prev parent reply other threads:[~2017-12-07 17:29 UTC|newest]
Thread overview: 155+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-12-07 15:48 [PATCH AUTOSEL for 4.9 001/156] usb: phy: isp1301: Add OF device ID table alexander.levin
2017-12-07 15:48 ` [PATCH AUTOSEL for 4.9 002/156] KVM: nVMX: do not warn when MSR bitmap address is not backed alexander.levin
2017-12-07 15:48 ` [PATCH AUTOSEL for 4.9 005/156] userfaultfd: shmem: __do_fault requires VM_FAULT_NOPAGE alexander.levin
2017-12-07 15:48 ` [PATCH AUTOSEL for 4.9 004/156] md-cluster: free md_cluster_info if node leave cluster alexander.levin
2017-12-07 15:48 ` [PATCH AUTOSEL for 4.9 006/156] userfaultfd: selftest: vm: allow to build in vm/ directory alexander.levin
2017-12-07 15:48 ` [PATCH AUTOSEL for 4.9 003/156] usb: xhci-mtk: check hcc_params after adding primary hcd alexander.levin
2017-12-07 15:48 ` [PATCH AUTOSEL for 4.9 007/156] net: initialize msg.msg_flags in recvfrom alexander.levin
2017-12-07 15:48 ` [PATCH AUTOSEL for 4.9 009/156] net: bcmgenet: correct the RBUF_OVFL_CNT and RBUF_ERR_CNT MIB values alexander.levin
2017-12-07 15:48 ` [PATCH AUTOSEL for 4.9 011/156] net: bcmgenet: reserved phy revisions must be checked first alexander.levin
2017-12-07 15:48 ` [PATCH AUTOSEL for 4.9 010/156] net: bcmgenet: correct MIB access of UniMAC RUNT counters alexander.levin
2017-12-07 15:48 ` [PATCH AUTOSEL for 4.9 008/156] bnxt_en: Ignore 0 value in autoneg supported speed from firmware alexander.levin
2017-12-07 15:48 ` [PATCH AUTOSEL for 4.9 014/156] net: bcmgenet: Power up the internal PHY before probing the MII alexander.levin
2017-12-07 15:48 ` [PATCH AUTOSEL for 4.9 013/156] net: bcmgenet: synchronize irq0 status between the isr and task alexander.levin
2017-12-07 15:48 ` [PATCH AUTOSEL for 4.9 012/156] net: bcmgenet: power down internal phy if open or resume fails alexander.levin
2017-12-07 15:48 ` [PATCH AUTOSEL for 4.9 016/156] net/mlx5: Fix create autogroup prev initializer alexander.levin
2017-12-07 15:48 ` [PATCH AUTOSEL for 4.9 018/156] iommu/io-pgtable-arm-v7s: Check for leaf entry before dereferencing it alexander.levin
2017-12-07 15:48 ` [PATCH AUTOSEL for 4.9 015/156] rxrpc: Wake up the transmitter if Rx window size increases on the peer alexander.levin
2017-12-07 15:48 ` [PATCH AUTOSEL for 4.9 019/156] drm/amdgpu: fix parser init error path to avoid crash in parser fini alexander.levin
2017-12-07 15:48 ` [PATCH AUTOSEL for 4.9 017/156] net/mlx5: Don't save PCI state when PCI error is detected alexander.levin
2017-12-07 15:48 ` [PATCH AUTOSEL for 4.9 021/156] NFSD: fix nfsd_reset_versions for NFSv4 alexander.levin
2017-12-07 15:48 ` [PATCH AUTOSEL for 4.9 020/156] NFSD: fix nfsd_minorversion(.., NFSD_AVAIL) alexander.levin
2017-12-07 15:48 ` [PATCH AUTOSEL for 4.9 023/156] drm/omap: fix dmabuf mmap for dma_alloc'ed buffers alexander.levin
2017-12-07 15:48 ` [PATCH AUTOSEL for 4.9 022/156] Input: i8042 - add TUXEDO BU1406 (N24_25BU) to the nomux list alexander.levin
2017-12-07 15:49 ` [PATCH AUTOSEL for 4.9 027/156] writeback: fix memory leak in wb_queue_work() alexander.levin
2017-12-07 15:49 ` [PATCH AUTOSEL for 4.9 025/156] ASoC: rsnd: fix sound route path when using SRC6/SRC9 alexander.levin
2017-12-07 15:49 ` [PATCH AUTOSEL for 4.9 024/156] netfilter: bridge: honor frag_max_size when refragmenting alexander.levin
2017-12-07 15:49 ` [PATCH AUTOSEL for 4.9 026/156] blk-mq: Fix tagset reinit in the presence of cpu hot-unplug alexander.levin
2017-12-07 15:49 ` [PATCH AUTOSEL for 4.9 030/156] irqchip/mvebu-odmi: Select GENERIC_MSI_IRQ_DOMAIN alexander.levin
2017-12-07 15:49 ` [PATCH AUTOSEL for 4.9 028/156] net: wimax/i2400m: fix NULL-deref at probe alexander.levin
2017-12-07 15:49 ` [PATCH AUTOSEL for 4.9 031/156] net: Resend IGMP memberships upon peer notification alexander.levin
2017-12-07 15:49 ` [PATCH AUTOSEL for 4.9 029/156] dmaengine: Fix array index out of bounds warning in __get_unmap_pool() alexander.levin
2017-12-07 15:49 ` [PATCH AUTOSEL for 4.9 032/156] mlxsw: reg: Fix SPVM max record count alexander.levin
2017-12-07 15:49 ` [PATCH AUTOSEL for 4.9 033/156] mlxsw: reg: Fix SPVMLR " alexander.levin
2017-12-07 15:49 ` [PATCH AUTOSEL for 4.9 034/156] qed: Align CIDs according to DORQ requirement alexander.levin
2017-12-07 15:49 ` [PATCH AUTOSEL for 4.9 037/156] drm: amd: remove broken include path alexander.levin
2017-12-07 15:49 ` [PATCH AUTOSEL for 4.9 035/156] qed: Fix mapping leak on LL2 rx flow alexander.levin
2017-12-07 15:49 ` [PATCH AUTOSEL for 4.9 036/156] qed: Fix interrupt flags on Rx LL2 alexander.levin
2017-12-07 15:49 ` [PATCH AUTOSEL for 4.9 039/156] openrisc: fix issue handling 8 byte get_user calls alexander.levin
2017-12-07 15:49 ` [PATCH AUTOSEL for 4.9 038/156] intel_th: pci: Add Gemini Lake support alexander.levin
2017-12-07 15:49 ` [PATCH AUTOSEL for 4.9 041/156] scsi: hpsa: update check for logical volume status alexander.levin
2017-12-07 15:49 ` [PATCH AUTOSEL for 4.9 042/156] scsi: hpsa: limit outstanding rescans alexander.levin
2017-12-07 15:49 ` [PATCH AUTOSEL for 4.9 040/156] ASoC: rcar: clear DE bit only in PDMACHCR when it stops alexander.levin
2017-12-07 15:49 ` [PATCH AUTOSEL for 4.9 044/156] fjes: Fix wrong netdevice feature flags alexander.levin
2017-12-07 15:49 ` [PATCH AUTOSEL for 4.9 046/156] Drivers: hv: util: move waiting for release to hv_utils_transport itself alexander.levin
2017-12-07 15:49 ` [PATCH AUTOSEL for 4.9 043/156] scsi: hpsa: do not timeout reset operations alexander.levin
2017-12-07 15:49 ` [PATCH AUTOSEL for 4.9 045/156] drm/radeon/si: add dpm quirk for Oland alexander.levin
2017-12-07 15:49 ` alexander.levin [this message]
2017-12-07 15:49 ` [PATCH AUTOSEL for 4.9 048/156] sched/deadline: Add missing update_rq_clock() in dl_task_timer() alexander.levin
2017-12-07 15:49 ` [PATCH AUTOSEL for 4.9 049/156] sched/deadline: Make sure the replenishment timer fires in the next period alexander.levin
2017-12-07 15:49 ` [PATCH AUTOSEL for 4.9 052/156] mmc: mediatek: Fixed bug where clock frequency could be set wrong alexander.levin
2017-12-07 15:49 ` [PATCH AUTOSEL for 4.9 051/156] sched/deadline: Use deadline instead of period when calculating overflow alexander.levin
2017-12-07 15:49 ` [PATCH AUTOSEL for 4.9 050/156] sched/deadline: Throttle a constrained deadline task activated after the deadline alexander.levin
2017-12-07 15:49 ` [PATCH AUTOSEL for 4.9 056/156] afs: Adjust mode bits processing alexander.levin
2017-12-07 15:49 ` [PATCH AUTOSEL for 4.9 055/156] afs: Populate group ID from vnode status alexander.levin
2017-12-07 15:49 ` [PATCH AUTOSEL for 4.9 053/156] drm/radeon: reinstate oland workaround for sclk alexander.levin
2017-12-07 15:49 ` [PATCH AUTOSEL for 4.9 054/156] afs: Fix missing put_page() alexander.levin
2017-12-07 15:49 ` [PATCH AUTOSEL for 4.9 059/156] afs: Migrate vlocation fields to 64-bit alexander.levin
2017-12-07 15:49 ` [PATCH AUTOSEL for 4.9 058/156] afs: Flush outstanding writes when an fd is closed alexander.levin
2017-12-07 15:49 ` [PATCH AUTOSEL for 4.9 057/156] afs: Deal with an empty callback array alexander.levin
2017-12-07 15:49 ` [PATCH AUTOSEL for 4.9 061/156] afs: Fix the maths in afs_fs_store_data() alexander.levin
2017-12-07 15:49 ` [PATCH AUTOSEL for 4.9 062/156] afs: Invalid op ID should abort with RXGEN_OPCODE alexander.levin
2017-12-07 15:49 ` [PATCH AUTOSEL for 4.9 060/156] afs: Prevent callback expiry timer overflow alexander.levin
2017-12-07 15:49 ` [PATCH AUTOSEL for 4.9 063/156] afs: Better abort and net error handling alexander.levin
2017-12-07 15:49 ` [PATCH AUTOSEL for 4.9 066/156] afs: Fix afs_kill_pages() alexander.levin
2017-12-07 15:49 ` [PATCH AUTOSEL for 4.9 064/156] afs: Populate and use client modification time alexander.levin
2017-12-07 15:49 ` [PATCH AUTOSEL for 4.9 065/156] afs: Fix page leak in afs_write_begin() alexander.levin
2017-12-07 15:49 ` [PATCH AUTOSEL for 4.9 067/156] afs: Fix abort on signal while waiting for call completion alexander.levin
2017-12-07 15:49 ` [PATCH AUTOSEL for 4.9 068/156] nvme-loop: fix a possible use-after-free when destroying the admin queue alexander.levin
2017-12-07 15:49 ` [PATCH AUTOSEL for 4.9 071/156] net/mlx4_core: Avoid delays during VF driver device shutdown alexander.levin
2017-12-07 15:49 ` [PATCH AUTOSEL for 4.9 069/156] nvmet: confirm sq percpu has scheduled and switched to atomic alexander.levin
2017-12-07 15:49 ` [PATCH AUTOSEL for 4.9 070/156] nvmet-rdma: Fix a possible uninitialized variable dereference alexander.levin
2017-12-07 15:49 ` [PATCH AUTOSEL for 4.9 075/156] tty: fix data race in tty_ldisc_ref_wait() alexander.levin
2017-12-07 15:49 ` [PATCH AUTOSEL for 4.9 072/156] net: mpls: Fix nexthop alive tracking on down events alexander.levin
2017-12-07 15:49 ` [PATCH AUTOSEL for 4.9 073/156] rxrpc: Ignore BUSY packets on old calls alexander.levin
2017-12-07 15:49 ` [PATCH AUTOSEL for 4.9 074/156] tty: don't panic on OOM in tty_set_ldisc() alexander.levin
2017-12-07 15:49 ` [PATCH AUTOSEL for 4.9 077/156] efi/esrt: Cleanup bad memory map log messages alexander.levin
2017-12-07 15:49 ` [PATCH AUTOSEL for 4.9 076/156] perf symbols: Fix symbols__fixup_end heuristic for corner cases alexander.levin
2017-12-07 15:49 ` [PATCH AUTOSEL for 4.9 079/156] btrfs: add missing memset while reading compressed inline extents alexander.levin
2017-12-07 15:49 ` [PATCH AUTOSEL for 4.9 078/156] NFSv4.1 respect server's max size in CREATE_SESSION alexander.levin
2017-12-07 15:49 ` [PATCH AUTOSEL for 4.9 082/156] target: fix race during implicit transition work flushes alexander.levin
2017-12-07 15:49 ` [PATCH AUTOSEL for 4.9 083/156] Revert "x86/acpi: Set persistent cpuid <-> nodeid mapping when booting" alexander.levin
2017-12-07 15:49 ` [PATCH AUTOSEL for 4.9 081/156] target: fix ALUA transition timeout handling alexander.levin
2017-12-07 15:49 ` [PATCH AUTOSEL for 4.9 080/156] target: Use system workqueue for ALUA transitions alexander.levin
2017-12-07 15:49 ` [PATCH AUTOSEL for 4.9 084/156] HID: cp2112: fix broken gpio_direction_input callback alexander.levin
2017-12-07 15:49 ` [PATCH AUTOSEL for 4.9 085/156] sfc: don't warn on successful change of MAC alexander.levin
2017-12-07 15:49 ` [PATCH AUTOSEL for 4.9 086/156] fbdev: controlfb: Add missing modes to fix out of bounds access alexander.levin
2017-12-07 15:49 ` [PATCH AUTOSEL for 4.9 087/156] video: udlfb: Fix read EDID timeout alexander.levin
2017-12-07 15:49 ` [PATCH AUTOSEL for 4.9 091/156] ASoC: cs42l56: Fix reset GPIO name in example DT binding alexander.levin
2017-12-07 15:49 ` [PATCH AUTOSEL for 4.9 088/156] video: fbdev: au1200fb: Release some resources if a memory allocation fails alexander.levin
2017-12-07 15:49 ` [PATCH AUTOSEL for 4.9 089/156] video: fbdev: au1200fb: Return an error code " alexander.levin
2017-12-07 15:49 ` [PATCH AUTOSEL for 4.9 090/156] rtc: pcf8563: fix output clock rate alexander.levin
2017-12-07 15:49 ` [PATCH AUTOSEL for 4.9 094/156] PCI/PME: Handle invalid data when reading Root Status alexander.levin
2017-12-07 15:49 ` [PATCH AUTOSEL for 4.9 093/156] dmaengine: ti-dma-crossbar: Correct am335x/am43xx mux value type alexander.levin
2017-12-07 15:49 ` [PATCH AUTOSEL for 4.9 092/156] ASoC: Intel: Skylake: Fix uuid_module memory leak in failure case alexander.levin
2017-12-07 15:49 ` [PATCH AUTOSEL for 4.9 095/156] powerpc/powernv/cpufreq: Fix the frequency read by /proc/cpuinfo alexander.levin
2017-12-07 15:49 ` [PATCH AUTOSEL for 4.9 099/156] powerpc/opal: Fix EBUSY bug in acquiring tokens alexander.levin
2017-12-07 15:49 ` [PATCH AUTOSEL for 4.9 096/156] PCI: Do not allocate more buses than available in parent alexander.levin
2017-12-07 15:49 ` [PATCH AUTOSEL for 4.9 098/156] netfilter: ipvs: Fix inappropriate output of procfs alexander.levin
2017-12-07 15:49 ` [PATCH AUTOSEL for 4.9 097/156] iommu/mediatek: Fix driver name alexander.levin
2017-12-07 15:49 ` [PATCH AUTOSEL for 4.9 103/156] target/iscsi: Fix a race condition in iscsit_add_reject_from_cmd() alexander.levin
2017-12-07 15:49 ` [PATCH AUTOSEL for 4.9 101/156] platform/x86: intel_punit_ipc: Fix resource ioremap warning alexander.levin
2017-12-07 15:49 ` [PATCH AUTOSEL for 4.9 102/156] platform/x86: sony-laptop: Fix error handling in sony_nc_setup_rfkill() alexander.levin
2017-12-07 15:49 ` [PATCH AUTOSEL for 4.9 100/156] powerpc/ipic: Fix status get and status clear alexander.levin
2017-12-07 15:49 ` [PATCH AUTOSEL for 4.9 107/156] badblocks: fix wrong return value in badblocks_set if badblocks are disabled alexander.levin
2017-12-07 15:49 ` [PATCH AUTOSEL for 4.9 104/156] iscsi-target: fix memory leak in lio_target_tiqn_addtpg() alexander.levin
2017-12-07 15:49 ` [PATCH AUTOSEL for 4.9 106/156] target/file: Do not return error for UNMAP if length is zero alexander.levin
2017-12-07 15:49 ` [PATCH AUTOSEL for 4.9 105/156] target:fix condition return in core_pr_dump_initiator_port() alexander.levin
2017-12-07 15:49 ` [PATCH AUTOSEL for 4.9 109/156] xfs: truncate pagecache before writeback in xfs_setattr_size() alexander.levin
2017-12-07 15:49 ` [PATCH AUTOSEL for 4.9 108/156] iommu/amd: Limit the IOVA page range to the specified addresses alexander.levin
2017-12-07 15:49 ` [PATCH AUTOSEL for 4.9 110/156] arm-ccn: perf: Prevent module unload while PMU is in use alexander.levin
2017-12-07 15:49 ` [PATCH AUTOSEL for 4.9 113/156] clk: mediatek: add the option for determining PLL source clock alexander.levin
2017-12-07 15:49 ` [PATCH AUTOSEL for 4.9 112/156] mm: Handle 0 flags in _calc_vm_trans() macro alexander.levin
2017-12-07 15:49 ` [PATCH AUTOSEL for 4.9 114/156] clk: imx6: refine hdmi_isfr's parent to make HDMI work on i.MX6 SoCs w/o VPU alexander.levin
2017-12-07 15:49 ` [PATCH AUTOSEL for 4.9 111/156] crypto: tcrypt - fix buffer lengths in test_aead_speed() alexander.levin
2017-12-07 15:49 ` [PATCH AUTOSEL for 4.9 117/156] ppp: Destroy the mutex when cleanup alexander.levin
2017-12-07 15:49 ` [PATCH AUTOSEL for 4.9 115/156] clk: hi6220: mark clock cs_atb_syspll as critical alexander.levin
2017-12-07 15:49 ` [PATCH AUTOSEL for 4.9 118/156] ASoC: rsnd: rsnd_ssi_run_mods() needs to care ssi_parent_mod alexander.levin
2017-12-07 15:49 ` [PATCH AUTOSEL for 4.9 116/156] clk: tegra: Fix cclk_lp divisor register alexander.levin
2017-12-07 15:49 ` [PATCH AUTOSEL for 4.9 119/156] thermal/drivers/step_wise: Fix temperature regulation misbehavior alexander.levin
2017-12-07 15:49 ` [PATCH AUTOSEL for 4.9 121/156] GFS2: Take inode off order_write list when setting jdata flag alexander.levin
2017-12-07 15:49 ` [PATCH AUTOSEL for 4.9 120/156] scsi: scsi_debug: write_same: fix error report alexander.levin
2017-12-07 15:49 ` [PATCH AUTOSEL for 4.9 122/156] bcache: explicitly destroy mutex while exiting alexander.levin
2017-12-07 15:49 ` [PATCH AUTOSEL for 4.9 125/156] arm64: prevent regressions in compressed kernel image size when upgrading to binutils 2.27 alexander.levin
2017-12-07 15:49 ` [PATCH AUTOSEL for 4.9 124/156] Ib/hfi1: Return actual operational VLs in port info query alexander.levin
2017-12-07 15:49 ` [PATCH AUTOSEL for 4.9 127/156] platform/x86: hp_accel: Add quirk for HP ProBook 440 G4 alexander.levin
2017-12-07 15:49 ` [PATCH AUTOSEL for 4.9 126/156] btrfs: tests: Fix a memory leak in error handling path in 'run_test()' alexander.levin
2017-12-07 15:49 ` [PATCH AUTOSEL for 4.9 128/156] nvme: use kref_get_unless_zero in nvme_find_get_ns alexander.levin
2017-12-07 15:49 ` [PATCH AUTOSEL for 4.9 130/156] xfs: fix log block underflow during recovery cycle verification alexander.levin
2017-12-07 15:49 ` [PATCH AUTOSEL for 4.9 131/156] xfs: fix incorrect extent state in xfs_bmap_add_extent_unwritten_real alexander.levin
2017-12-07 15:49 ` [PATCH AUTOSEL for 4.9 129/156] l2tp: cleanup l2tp_tunnel_delete calls alexander.levin
2017-12-07 15:49 ` [PATCH AUTOSEL for 4.9 133/156] PCI: Detach driver before procfs & sysfs teardown on device remove alexander.levin
2017-12-07 15:49 ` [PATCH AUTOSEL for 4.9 132/156] RDMA/cxgb4: Declare stag as __be32 alexander.levin
2017-12-07 15:49 ` [PATCH AUTOSEL for 4.9 134/156] scsi: hpsa: cleanup sas_phy structures in sysfs when unloading alexander.levin
2017-12-07 15:49 ` [PATCH AUTOSEL for 4.9 135/156] scsi: hpsa: destroy sas transport properties before scsi_host alexander.levin
2017-12-07 15:49 ` [PATCH AUTOSEL for 4.9 138/156] tty fix oops when rmmod 8250 alexander.levin
2017-12-07 15:49 ` [PATCH AUTOSEL for 4.9 136/156] powerpc/perf/hv-24x7: Fix incorrect comparison in memord alexander.levin
2017-12-07 15:49 ` [PATCH AUTOSEL for 4.9 137/156] soc: mediatek: pwrap: fix compiler errors alexander.levin
2017-12-07 15:49 ` [PATCH AUTOSEL for 4.9 139/156] dmaengine: rcar-dmac: use TCRB instead of TCR for residue alexander.levin
2017-12-07 15:49 ` [PATCH AUTOSEL for 4.9 142/156] scsi: scsi_devinfo: Add REPORTLUN2 to EMC SYMMETRIX blacklist entry alexander.levin
2017-12-07 15:49 ` [PATCH AUTOSEL for 4.9 143/156] IB/core: Fix calculation of maximum RoCE MTU alexander.levin
2017-12-07 15:49 ` [PATCH AUTOSEL for 4.9 140/156] pinctrl: adi2: Fix Kconfig build problem alexander.levin
2017-12-07 15:49 ` [PATCH AUTOSEL for 4.9 141/156] raid5: Set R5_Expanded on parity devices as well as data alexander.levin
2017-12-07 15:49 ` [PATCH AUTOSEL for 4.9 147/156] ASoC: samsung: i2s: disable secondary DAI until it gets fixed alexander.levin
2017-12-07 15:49 ` [PATCH AUTOSEL for 4.9 146/156] rtl8188eu: Fix a possible sleep-in-atomic bug in rtw_disassoc_cmd alexander.levin
2017-12-07 15:49 ` [PATCH AUTOSEL for 4.9 145/156] rtl8188eu: Fix a possible sleep-in-atomic bug in rtw_createbss_cmd alexander.levin
2017-12-07 15:49 ` [PATCH AUTOSEL for 4.9 144/156] vt6655: Fix a possible sleep-in-atomic bug in vt6655_suspend alexander.levin
2017-12-07 15:49 ` [PATCH AUTOSEL for 4.9 151/156] udf: Avoid overflow when session starts at large offset alexander.levin
2017-12-07 15:49 ` [PATCH AUTOSEL for 4.9 150/156] scsi: bfa: integer overflow in debugfs alexander.levin
2017-12-07 15:49 ` [PATCH AUTOSEL for 4.9 148/156] scsi: sd: change manage_start_stop to bool in sysfs interface alexander.levin
2017-12-07 15:49 ` [PATCH AUTOSEL for 4.9 149/156] scsi: sd: change allow_restart " alexander.levin
2017-12-07 15:49 ` [PATCH AUTOSEL for 4.9 152/156] macvlan: Only deliver one copy of the frame to the macvlan interface alexander.levin
2017-12-07 15:49 ` [PATCH AUTOSEL for 4.9 154/156] IB/ipoib: Grab rtnl lock on heavy flush when calling ndo_open/stop alexander.levin
2017-12-07 15:49 ` [PATCH AUTOSEL for 4.9 155/156] icmp: don't fail on fragment reassembly time exceeded alexander.levin
2017-12-07 15:49 ` [PATCH AUTOSEL for 4.9 153/156] RDMA/cma: Avoid triggering undefined behavior alexander.levin
2017-12-07 15:49 ` [PATCH AUTOSEL for 4.9 156/156] ath9k: fix tx99 potential info leak alexander.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=20171207154845.4814-47-alexander.levin@verizon.com \
--to=alexander.levin@verizon.com \
--cc=kvalo@codeaurora.org \
--cc=linux-kernel@vger.kernel.org \
--cc=luciano.coelho@intel.com \
--cc=sara.sharon@intel.com \
--cc=stable@vger.kernel.org \
/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
all inboxes | Powered by JetHome®