From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: linux-kernel@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
stable@vger.kernel.org, Can Guo <cang@codeaurora.org>,
Stanley Chu <stanley.chu@mediatek.com>,
Avri Altman <avri.altman@wdc.com>,
Tomas Winkler <tomas.winkler@intel.com>,
Bean Huo <beanhuo@micron.com>,
Bart Van Assche <bvanassche@acm.org>,
"Martin K. Petersen" <martin.petersen@oracle.com>,
Sasha Levin <sashal@kernel.org>
Subject: [PATCH 5.4 078/111] scsi: ufs: Use blk_{get,put}_request() to allocate and free TMFs
Date: Mon, 12 Apr 2021 10:40:56 +0200 [thread overview]
Message-ID: <20210412084006.865835491@linuxfoundation.org> (raw)
In-Reply-To: <20210412084004.200986670@linuxfoundation.org>
From: Bart Van Assche <bvanassche@acm.org>
[ Upstream commit 69a6c269c097d780a2db320ecd47f7a62fafd92e ]
Manage TMF tags with blk_{get,put}_request() instead of
ufshcd_get_tm_free_slot() / ufshcd_put_tm_slot(). Store a per-request
completion pointer in request.end_io_data instead of using a waitqueue to
report TMF completion.
Cc: Can Guo <cang@codeaurora.org>
Cc: Stanley Chu <stanley.chu@mediatek.com>
Cc: Avri Altman <avri.altman@wdc.com>
Cc: Tomas Winkler <tomas.winkler@intel.com>
Link: https://lore.kernel.org/r/20191209181309.196233-3-bvanassche@acm.org
Tested-by: Bean Huo <beanhuo@micron.com>
Reviewed-by: Avri Altman <avri.altman@wdc.com>
Signed-off-by: Bart Van Assche <bvanassche@acm.org>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
drivers/scsi/ufs/ufshcd.c | 130 ++++++++++++++++++++++----------------
drivers/scsi/ufs/ufshcd.h | 12 ++--
2 files changed, 80 insertions(+), 62 deletions(-)
diff --git a/drivers/scsi/ufs/ufshcd.c b/drivers/scsi/ufs/ufshcd.c
index e84617172968..e7e6405401dd 100644
--- a/drivers/scsi/ufs/ufshcd.c
+++ b/drivers/scsi/ufs/ufshcd.c
@@ -644,40 +644,6 @@ static inline int ufshcd_get_tr_ocs(struct ufshcd_lrb *lrbp)
return le32_to_cpu(lrbp->utr_descriptor_ptr->header.dword_2) & MASK_OCS;
}
-/**
- * ufshcd_get_tm_free_slot - get a free slot for task management request
- * @hba: per adapter instance
- * @free_slot: pointer to variable with available slot value
- *
- * Get a free tag and lock it until ufshcd_put_tm_slot() is called.
- * Returns 0 if free slot is not available, else return 1 with tag value
- * in @free_slot.
- */
-static bool ufshcd_get_tm_free_slot(struct ufs_hba *hba, int *free_slot)
-{
- int tag;
- bool ret = false;
-
- if (!free_slot)
- goto out;
-
- do {
- tag = find_first_zero_bit(&hba->tm_slots_in_use, hba->nutmrs);
- if (tag >= hba->nutmrs)
- goto out;
- } while (test_and_set_bit_lock(tag, &hba->tm_slots_in_use));
-
- *free_slot = tag;
- ret = true;
-out:
- return ret;
-}
-
-static inline void ufshcd_put_tm_slot(struct ufs_hba *hba, int slot)
-{
- clear_bit_unlock(slot, &hba->tm_slots_in_use);
-}
-
/**
* ufshcd_utrl_clear - Clear a bit in UTRLCLR register
* @hba: per adapter instance
@@ -5580,6 +5546,27 @@ static irqreturn_t ufshcd_check_errors(struct ufs_hba *hba)
return retval;
}
+struct ctm_info {
+ struct ufs_hba *hba;
+ unsigned long pending;
+ unsigned int ncpl;
+};
+
+static bool ufshcd_compl_tm(struct request *req, void *priv, bool reserved)
+{
+ struct ctm_info *const ci = priv;
+ struct completion *c;
+
+ WARN_ON_ONCE(reserved);
+ if (test_bit(req->tag, &ci->pending))
+ return true;
+ ci->ncpl++;
+ c = req->end_io_data;
+ if (c)
+ complete(c);
+ return true;
+}
+
/**
* ufshcd_tmc_handler - handle task management function completion
* @hba: per adapter instance
@@ -5590,16 +5577,14 @@ static irqreturn_t ufshcd_check_errors(struct ufs_hba *hba)
*/
static irqreturn_t ufshcd_tmc_handler(struct ufs_hba *hba)
{
- u32 tm_doorbell;
+ struct request_queue *q = hba->tmf_queue;
+ struct ctm_info ci = {
+ .hba = hba,
+ .pending = ufshcd_readl(hba, REG_UTP_TASK_REQ_DOOR_BELL),
+ };
- tm_doorbell = ufshcd_readl(hba, REG_UTP_TASK_REQ_DOOR_BELL);
- hba->tm_condition = tm_doorbell ^ hba->outstanding_tasks;
- if (hba->tm_condition) {
- wake_up(&hba->tm_wq);
- return IRQ_HANDLED;
- } else {
- return IRQ_NONE;
- }
+ blk_mq_tagset_busy_iter(q->tag_set, ufshcd_compl_tm, &ci);
+ return ci.ncpl ? IRQ_HANDLED : IRQ_NONE;
}
/**
@@ -5705,7 +5690,10 @@ out:
static int __ufshcd_issue_tm_cmd(struct ufs_hba *hba,
struct utp_task_req_desc *treq, u8 tm_function)
{
+ struct request_queue *q = hba->tmf_queue;
struct Scsi_Host *host = hba->host;
+ DECLARE_COMPLETION_ONSTACK(wait);
+ struct request *req;
unsigned long flags;
int free_slot, task_tag, err;
@@ -5714,7 +5702,10 @@ static int __ufshcd_issue_tm_cmd(struct ufs_hba *hba,
* Even though we use wait_event() which sleeps indefinitely,
* the maximum wait time is bounded by %TM_CMD_TIMEOUT.
*/
- wait_event(hba->tm_tag_wq, ufshcd_get_tm_free_slot(hba, &free_slot));
+ req = blk_get_request(q, REQ_OP_DRV_OUT, BLK_MQ_REQ_RESERVED);
+ req->end_io_data = &wait;
+ free_slot = req->tag;
+ WARN_ON_ONCE(free_slot < 0 || free_slot >= hba->nutmrs);
ufshcd_hold(hba, false);
spin_lock_irqsave(host->host_lock, flags);
@@ -5740,10 +5731,14 @@ static int __ufshcd_issue_tm_cmd(struct ufs_hba *hba,
ufshcd_add_tm_upiu_trace(hba, task_tag, "tm_send");
/* wait until the task management command is completed */
- err = wait_event_timeout(hba->tm_wq,
- test_bit(free_slot, &hba->tm_condition),
+ err = wait_for_completion_io_timeout(&wait,
msecs_to_jiffies(TM_CMD_TIMEOUT));
if (!err) {
+ /*
+ * Make sure that ufshcd_compl_tm() does not trigger a
+ * use-after-free.
+ */
+ req->end_io_data = NULL;
ufshcd_add_tm_upiu_trace(hba, task_tag, "tm_complete_err");
dev_err(hba->dev, "%s: task management cmd 0x%.2x timed-out\n",
__func__, tm_function);
@@ -5762,9 +5757,7 @@ static int __ufshcd_issue_tm_cmd(struct ufs_hba *hba,
__clear_bit(free_slot, &hba->outstanding_tasks);
spin_unlock_irqrestore(hba->host->host_lock, flags);
- clear_bit(free_slot, &hba->tm_condition);
- ufshcd_put_tm_slot(hba, free_slot);
- wake_up(&hba->tm_tag_wq);
+ blk_put_request(req);
ufshcd_release(hba);
return err;
@@ -8217,6 +8210,8 @@ void ufshcd_remove(struct ufs_hba *hba)
{
ufs_bsg_remove(hba);
ufs_sysfs_remove_nodes(hba->dev);
+ blk_cleanup_queue(hba->tmf_queue);
+ blk_mq_free_tag_set(&hba->tmf_tag_set);
blk_cleanup_queue(hba->cmd_queue);
scsi_remove_host(hba->host);
/* disable interrupts */
@@ -8296,6 +8291,18 @@ out_error:
}
EXPORT_SYMBOL(ufshcd_alloc_host);
+/* This function exists because blk_mq_alloc_tag_set() requires this. */
+static blk_status_t ufshcd_queue_tmf(struct blk_mq_hw_ctx *hctx,
+ const struct blk_mq_queue_data *qd)
+{
+ WARN_ON_ONCE(true);
+ return BLK_STS_NOTSUPP;
+}
+
+static const struct blk_mq_ops ufshcd_tmf_ops = {
+ .queue_rq = ufshcd_queue_tmf,
+};
+
/**
* ufshcd_init - Driver initialization routine
* @hba: per-adapter instance
@@ -8365,10 +8372,6 @@ int ufshcd_init(struct ufs_hba *hba, void __iomem *mmio_base, unsigned int irq)
hba->max_pwr_info.is_valid = false;
- /* Initailize wait queue for task management */
- init_waitqueue_head(&hba->tm_wq);
- init_waitqueue_head(&hba->tm_tag_wq);
-
/* Initialize work queues */
INIT_WORK(&hba->eh_work, ufshcd_err_handler);
INIT_WORK(&hba->eeh_work, ufshcd_exception_event_handler);
@@ -8420,6 +8423,21 @@ int ufshcd_init(struct ufs_hba *hba, void __iomem *mmio_base, unsigned int irq)
goto out_remove_scsi_host;
}
+ hba->tmf_tag_set = (struct blk_mq_tag_set) {
+ .nr_hw_queues = 1,
+ .queue_depth = hba->nutmrs,
+ .ops = &ufshcd_tmf_ops,
+ .flags = BLK_MQ_F_NO_SCHED,
+ };
+ err = blk_mq_alloc_tag_set(&hba->tmf_tag_set);
+ if (err < 0)
+ goto free_cmd_queue;
+ hba->tmf_queue = blk_mq_init_queue(&hba->tmf_tag_set);
+ if (IS_ERR(hba->tmf_queue)) {
+ err = PTR_ERR(hba->tmf_queue);
+ goto free_tmf_tag_set;
+ }
+
/* Reset the attached device */
ufshcd_vops_device_reset(hba);
@@ -8429,7 +8447,7 @@ int ufshcd_init(struct ufs_hba *hba, void __iomem *mmio_base, unsigned int irq)
dev_err(hba->dev, "Host controller enable failed\n");
ufshcd_print_host_regs(hba);
ufshcd_print_host_state(hba);
- goto free_cmd_queue;
+ goto free_tmf_queue;
}
/*
@@ -8466,6 +8484,10 @@ int ufshcd_init(struct ufs_hba *hba, void __iomem *mmio_base, unsigned int irq)
return 0;
+free_tmf_queue:
+ blk_cleanup_queue(hba->tmf_queue);
+free_tmf_tag_set:
+ blk_mq_free_tag_set(&hba->tmf_tag_set);
free_cmd_queue:
blk_cleanup_queue(hba->cmd_queue);
out_remove_scsi_host:
diff --git a/drivers/scsi/ufs/ufshcd.h b/drivers/scsi/ufs/ufshcd.h
index 8fd6fd75cb5c..92ef6e6a3e51 100644
--- a/drivers/scsi/ufs/ufshcd.h
+++ b/drivers/scsi/ufs/ufshcd.h
@@ -494,11 +494,9 @@ struct ufs_stats {
* @irq: Irq number of the controller
* @active_uic_cmd: handle of active UIC command
* @uic_cmd_mutex: mutex for uic command
- * @tm_wq: wait queue for task management
- * @tm_tag_wq: wait queue for free task management slots
- * @tm_slots_in_use: bit map of task management request slots in use
+ * @tmf_tag_set: TMF tag set.
+ * @tmf_queue: Used to allocate TMF tags.
* @pwr_done: completion for power mode change
- * @tm_condition: condition variable for task management
* @ufshcd_state: UFSHCD states
* @eh_flags: Error handling flags
* @intr_mask: Interrupt Mask Bits
@@ -643,10 +641,8 @@ struct ufs_hba {
/* Device deviations from standard UFS device spec. */
unsigned int dev_quirks;
- wait_queue_head_t tm_wq;
- wait_queue_head_t tm_tag_wq;
- unsigned long tm_condition;
- unsigned long tm_slots_in_use;
+ struct blk_mq_tag_set tmf_tag_set;
+ struct request_queue *tmf_queue;
struct uic_command *active_uic_cmd;
struct mutex uic_cmd_mutex;
--
2.30.2
next prev parent reply other threads:[~2021-04-12 8:51 UTC|newest]
Thread overview: 125+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-04-12 8:39 [PATCH 5.4 000/111] 5.4.112-rc1 review Greg Kroah-Hartman
2021-04-12 8:39 ` [PATCH 5.4 001/111] counter: stm32-timer-cnt: fix ceiling miss-alignment with reload register Greg Kroah-Hartman
2021-04-12 8:39 ` [PATCH 5.4 002/111] ALSA: aloop: Fix initialization of controls Greg Kroah-Hartman
2021-04-12 8:39 ` [PATCH 5.4 003/111] ALSA: hda/realtek: Fix speaker amp setup on Acer Aspire E1 Greg Kroah-Hartman
2021-04-12 8:39 ` [PATCH 5.4 004/111] ASoC: intel: atom: Stop advertising non working S24LE support Greg Kroah-Hartman
2021-04-12 8:39 ` [PATCH 5.4 005/111] nfc: fix refcount leak in llcp_sock_bind() Greg Kroah-Hartman
2021-04-12 8:39 ` [PATCH 5.4 006/111] nfc: fix refcount leak in llcp_sock_connect() Greg Kroah-Hartman
2021-04-12 8:39 ` [PATCH 5.4 007/111] nfc: fix memory " Greg Kroah-Hartman
2021-04-12 8:39 ` [PATCH 5.4 008/111] nfc: Avoid endless loops caused by repeated llcp_sock_connect() Greg Kroah-Hartman
2021-04-12 8:39 ` [PATCH 5.4 009/111] xen/evtchn: Change irq_info lock to raw_spinlock_t Greg Kroah-Hartman
2021-04-12 8:39 ` [PATCH 5.4 010/111] net: ipv6: check for validity before dereferencing cfg->fc_nlinfo.nlh Greg Kroah-Hartman
2021-04-12 8:39 ` [PATCH 5.4 011/111] net: dsa: lantiq_gswip: Let GSWIP automatically set the xMII clock Greg Kroah-Hartman
2021-04-12 8:39 ` [PATCH 5.4 012/111] drm/i915: Fix invalid access to ACPI _DSM objects Greg Kroah-Hartman
2021-04-12 8:39 ` [PATCH 5.4 013/111] gcov: re-fix clang-11+ support Greg Kroah-Hartman
2021-04-12 8:39 ` [PATCH 5.4 014/111] ia64: fix user_stack_pointer() for ptrace() Greg Kroah-Hartman
2021-04-12 8:39 ` [PATCH 5.4 015/111] nds32: flush_dcache_page: use page_mapping_file to avoid races with swapoff Greg Kroah-Hartman
2021-04-12 8:39 ` [PATCH 5.4 016/111] ocfs2: fix deadlock between setattr and dio_end_io_write Greg Kroah-Hartman
2021-04-12 8:39 ` [PATCH 5.4 017/111] fs: direct-io: fix missing sdio->boundary Greg Kroah-Hartman
2021-04-12 8:39 ` [PATCH 5.4 018/111] parisc: parisc-agp requires SBA IOMMU driver Greg Kroah-Hartman
2021-04-12 8:39 ` [PATCH 5.4 019/111] parisc: avoid a warning on u8 cast for cmpxchg on u8 pointers Greg Kroah-Hartman
2021-04-12 8:39 ` [PATCH 5.4 020/111] ARM: dts: turris-omnia: configure LED[2]/INTn pin as interrupt pin Greg Kroah-Hartman
2021-04-12 8:39 ` [PATCH 5.4 021/111] batman-adv: initialize "struct batadv_tvlv_tt_vlan_data"->reserved field Greg Kroah-Hartman
2021-04-12 8:40 ` [PATCH 5.4 022/111] ice: Increase control queue timeout Greg Kroah-Hartman
2021-04-12 8:40 ` [PATCH 5.4 023/111] ice: Fix for dereference of NULL pointer Greg Kroah-Hartman
2021-04-12 8:40 ` [PATCH 5.4 024/111] ice: Cleanup fltr list in case of allocation issues Greg Kroah-Hartman
2021-04-12 8:40 ` [PATCH 5.4 025/111] net: hso: fix null-ptr-deref during tty device unregistration Greg Kroah-Hartman
2021-04-12 8:40 ` [PATCH 5.4 026/111] ethernet/netronome/nfp: Fix a use after free in nfp_bpf_ctrl_msg_rx Greg Kroah-Hartman
2021-04-12 8:40 ` [PATCH 5.4 027/111] bpf, sockmap: Fix sk->prot unhash op reset Greg Kroah-Hartman
2021-04-12 8:40 ` [PATCH 5.4 028/111] net: ensure mac header is set in virtio_net_hdr_to_skb() Greg Kroah-Hartman
2021-04-12 8:40 ` [PATCH 5.4 029/111] i40e: Fix sparse warning: missing error code err Greg Kroah-Hartman
2021-04-12 8:40 ` [PATCH 5.4 030/111] i40e: Fix sparse error: vsi->netdev could be null Greg Kroah-Hartman
2021-04-12 8:40 ` [PATCH 5.4 031/111] net: sched: sch_teql: fix null-pointer dereference Greg Kroah-Hartman
2021-04-12 8:40 ` [PATCH 5.4 032/111] mac80211: fix TXQ AC confusion Greg Kroah-Hartman
2021-04-12 8:40 ` [PATCH 5.4 033/111] net: hsr: Reset MAC header for Tx path Greg Kroah-Hartman
2021-04-12 8:40 ` [PATCH 5.4 034/111] net-ipv6: bugfix - raw & sctp - switch to ipv6_can_nonlocal_bind() Greg Kroah-Hartman
2021-04-12 8:40 ` [PATCH 5.4 035/111] net: let skb_orphan_partial wake-up waiters Greg Kroah-Hartman
2021-04-12 8:40 ` [PATCH 5.4 036/111] usbip: add sysfs_lock to synchronize sysfs code paths Greg Kroah-Hartman
2021-04-12 8:40 ` [PATCH 5.4 037/111] usbip: stub-dev " Greg Kroah-Hartman
2021-04-12 8:40 ` [PATCH 5.4 038/111] usbip: vudc " Greg Kroah-Hartman
2021-04-12 8:40 ` [PATCH 5.4 039/111] usbip: synchronize event handler with " Greg Kroah-Hartman
2021-04-12 8:40 ` [PATCH 5.4 040/111] i2c: turn recovery error on init to debug Greg Kroah-Hartman
2021-04-12 8:40 ` [PATCH 5.4 041/111] virtio_net: Add XDP meta data support Greg Kroah-Hartman
2021-04-12 8:40 ` [PATCH 5.4 042/111] virtio_net: Do not pull payload in skb->head Greg Kroah-Hartman
2021-04-12 9:12 ` Michael S. Tsirkin
2021-05-18 19:35 ` Eric Dumazet
2021-05-19 0:04 ` Sasha Levin
2021-04-12 8:40 ` [PATCH 5.4 043/111] net: dsa: lantiq_gswip: Dont use PHY auto polling Greg Kroah-Hartman
2021-04-12 8:40 ` [PATCH 5.4 044/111] net: dsa: lantiq_gswip: Configure all remaining GSWIP_MII_CFG bits Greg Kroah-Hartman
2021-04-12 8:40 ` [PATCH 5.4 045/111] xfrm: interface: fix ipv4 pmtu check to honor ip header df Greg Kroah-Hartman
2021-04-12 8:40 ` [PATCH 5.4 046/111] regulator: bd9571mwv: Fix AVS and DVFS voltage range Greg Kroah-Hartman
2021-04-12 8:40 ` [PATCH 5.4 047/111] net: xfrm: Localize sequence counter per network namespace Greg Kroah-Hartman
2021-04-12 8:40 ` [PATCH 5.4 048/111] esp: delete NETIF_F_SCTP_CRC bit from features for esp offload Greg Kroah-Hartman
2021-04-12 8:40 ` [PATCH 5.4 049/111] ASoC: SOF: Intel: hda: remove unnecessary parentheses Greg Kroah-Hartman
2021-04-12 8:40 ` [PATCH 5.4 050/111] ASoC: SOF: Intel: HDA: fix core status verification Greg Kroah-Hartman
2021-04-12 8:40 ` [PATCH 5.4 051/111] ASoC: wm8960: Fix wrong bclk and lrclk with pll enabled for some chips Greg Kroah-Hartman
2021-04-12 8:40 ` [PATCH 5.4 052/111] xfrm: Fix NULL pointer dereference on policy lookup Greg Kroah-Hartman
2021-04-12 8:40 ` [PATCH 5.4 053/111] i40e: Added Asym_Pause to supported link modes Greg Kroah-Hartman
2021-04-12 8:40 ` [PATCH 5.4 054/111] i40e: Fix kernel oops when i40e driver removes VFs Greg Kroah-Hartman
2021-04-12 8:40 ` [PATCH 5.4 055/111] hostfs: Use kasprintf() instead of fixed buffer formatting Greg Kroah-Hartman
2021-04-12 8:40 ` [PATCH 5.4 056/111] hostfs: fix memory handling in follow_link() Greg Kroah-Hartman
2021-04-12 8:40 ` [PATCH 5.4 057/111] amd-xgbe: Update DMA coherency values Greg Kroah-Hartman
2021-04-12 8:40 ` [PATCH 5.4 058/111] sch_red: fix off-by-one checks in red_check_params() Greg Kroah-Hartman
2021-04-12 8:40 ` [PATCH 5.4 059/111] arm64: dts: imx8mm/q: Fix pad control of SD1_DATA0 Greg Kroah-Hartman
2021-04-12 8:40 ` [PATCH 5.4 060/111] can: bcm/raw: fix msg_namelen values depending on CAN_REQUIRED_SIZE Greg Kroah-Hartman
2021-04-12 8:40 ` [PATCH 5.4 061/111] gianfar: Handle error code at MAC address change Greg Kroah-Hartman
2021-04-12 8:40 ` [PATCH 5.4 062/111] cxgb4: avoid collecting SGE_QBASE regs during traffic Greg Kroah-Hartman
2021-04-12 8:40 ` [PATCH 5.4 063/111] net:tipc: Fix a double free in tipc_sk_mcast_rcv Greg Kroah-Hartman
2021-04-12 8:40 ` [PATCH 5.4 064/111] ARM: dts: imx6: pbab01: Set vmmc supply for both SD interfaces Greg Kroah-Hartman
2021-04-12 8:40 ` [PATCH 5.4 065/111] net/ncsi: Avoid channel_monitor hrtimer deadlock Greg Kroah-Hartman
2021-04-12 8:40 ` [PATCH 5.4 066/111] nfp: flower: ignore duplicate merge hints from FW Greg Kroah-Hartman
2021-04-12 8:40 ` [PATCH 5.4 067/111] net: phy: broadcom: Only advertise EEE for supported modes Greg Kroah-Hartman
2021-04-12 8:40 ` [PATCH 5.4 068/111] ASoC: sunxi: sun4i-codec: fill ASoC card owner Greg Kroah-Hartman
2021-04-12 8:40 ` [PATCH 5.4 069/111] net/mlx5e: Fix ethtool indication of connector type Greg Kroah-Hartman
2021-04-12 8:40 ` [PATCH 5.4 070/111] net/mlx5: Dont request more than supported EQs Greg Kroah-Hartman
2021-04-12 8:40 ` [PATCH 5.4 071/111] net/rds: Fix a use after free in rds_message_map_pages Greg Kroah-Hartman
2021-04-12 8:40 ` [PATCH 5.4 072/111] soc/fsl: qbman: fix conflicting alignment attributes Greg Kroah-Hartman
2021-04-12 8:40 ` [PATCH 5.4 073/111] i40e: Fix display statistics for veb_tc Greg Kroah-Hartman
2021-04-12 8:40 ` [PATCH 5.4 074/111] drm/msm: Set drvdata to NULL when msm_drm_init() fails Greg Kroah-Hartman
2021-04-12 8:40 ` [PATCH 5.4 075/111] net: udp: Add support for getsockopt(..., ..., UDP_GRO, ..., ...); Greg Kroah-Hartman
2021-04-12 8:40 ` [PATCH 5.4 076/111] scsi: ufs: Fix irq return code Greg Kroah-Hartman
2021-04-12 8:40 ` [PATCH 5.4 077/111] scsi: ufs: Avoid busy-waiting by eliminating tag conflicts Greg Kroah-Hartman
2021-04-12 8:40 ` Greg Kroah-Hartman [this message]
2021-04-12 8:40 ` [PATCH 5.4 079/111] scsi: ufs: core: Fix task management request completion timeout Greg Kroah-Hartman
2021-04-12 8:40 ` [PATCH 5.4 080/111] scsi: ufs: core: Fix wrong Task Tag used in task management request UPIUs Greg Kroah-Hartman
2021-04-12 8:40 ` [PATCH 5.4 081/111] net: macb: restore cmp registers on resume path Greg Kroah-Hartman
2021-04-12 8:41 ` [PATCH 5.4 082/111] clk: fix invalid usage of list cursor in register Greg Kroah-Hartman
2021-04-12 8:41 ` [PATCH 5.4 083/111] clk: fix invalid usage of list cursor in unregister Greg Kroah-Hartman
2021-04-12 8:41 ` [PATCH 5.4 084/111] workqueue: Move the position of debug_work_activate() in __queue_work() Greg Kroah-Hartman
2021-04-12 8:41 ` [PATCH 5.4 085/111] s390/cpcmd: fix inline assembly register clobbering Greg Kroah-Hartman
2021-04-12 8:41 ` [PATCH 5.4 086/111] perf inject: Fix repipe usage Greg Kroah-Hartman
2021-04-12 8:41 ` [PATCH 5.4 087/111] net: openvswitch: conntrack: simplify the return expression of ovs_ct_limit_get_default_limit() Greg Kroah-Hartman
2021-04-12 8:41 ` [PATCH 5.4 088/111] openvswitch: fix send of uninitialized stack memory in ct limit reply Greg Kroah-Hartman
2021-04-12 8:41 ` [PATCH 5.4 089/111] net: hns3: clear VF down state bit before request link status Greg Kroah-Hartman
2021-04-12 8:41 ` [PATCH 5.4 090/111] net/mlx5: Fix placement of log_max_flow_counter Greg Kroah-Hartman
2021-04-12 8:41 ` [PATCH 5.4 091/111] net/mlx5: Fix PBMC register mapping Greg Kroah-Hartman
2021-04-12 8:41 ` [PATCH 5.4 092/111] RDMA/cxgb4: check for ipv6 address properly while destroying listener Greg Kroah-Hartman
2021-04-12 8:41 ` [PATCH 5.4 093/111] RDMA/addr: Be strict with gid size Greg Kroah-Hartman
2021-04-12 8:41 ` [PATCH 5.4 094/111] RAS/CEC: Correct ce_add_elem()s returned values Greg Kroah-Hartman
2021-04-12 8:41 ` [PATCH 5.4 095/111] clk: socfpga: fix iomem pointer cast on 64-bit Greg Kroah-Hartman
2021-04-12 8:41 ` [PATCH 5.4 096/111] dt-bindings: net: ethernet-controller: fix typo in NVMEM Greg Kroah-Hartman
2021-04-12 8:41 ` [PATCH 5.4 097/111] net: sched: bump refcount for new action in ACT replace mode Greg Kroah-Hartman
2021-04-13 10:36 ` Sudip Mukherjee
2021-04-13 10:51 ` Greg Kroah-Hartman
2021-04-13 12:40 ` Greg Kroah-Hartman
2021-04-12 8:41 ` [PATCH 5.4 098/111] cfg80211: remove WARN_ON() in cfg80211_sme_connect Greg Kroah-Hartman
2021-04-12 8:41 ` [PATCH 5.4 099/111] net: tun: set tun->dev->addr_len during TUNSETLINK processing Greg Kroah-Hartman
2021-04-12 8:41 ` [PATCH 5.4 100/111] drivers: net: fix memory leak in atusb_probe Greg Kroah-Hartman
2021-04-12 8:41 ` [PATCH 5.4 101/111] drivers: net: fix memory leak in peak_usb_create_dev Greg Kroah-Hartman
2021-04-12 8:41 ` [PATCH 5.4 102/111] net: mac802154: Fix general protection fault Greg Kroah-Hartman
2021-04-12 8:41 ` [PATCH 5.4 103/111] net: ieee802154: nl-mac: fix check on panid Greg Kroah-Hartman
2021-04-12 8:41 ` [PATCH 5.4 104/111] net: ieee802154: fix nl802154 del llsec key Greg Kroah-Hartman
2021-04-12 8:41 ` [PATCH 5.4 105/111] net: ieee802154: fix nl802154 del llsec dev Greg Kroah-Hartman
2021-04-12 8:41 ` [PATCH 5.4 106/111] net: ieee802154: fix nl802154 add llsec key Greg Kroah-Hartman
2021-04-12 8:41 ` [PATCH 5.4 107/111] net: ieee802154: fix nl802154 del llsec devkey Greg Kroah-Hartman
2021-04-12 8:41 ` [PATCH 5.4 108/111] net: ieee802154: forbid monitor for set llsec params Greg Kroah-Hartman
2021-04-12 8:41 ` [PATCH 5.4 109/111] net: ieee802154: forbid monitor for del llsec seclevel Greg Kroah-Hartman
2021-04-12 8:41 ` [PATCH 5.4 110/111] net: ieee802154: stop dump llsec params for monitors Greg Kroah-Hartman
2021-04-12 8:41 ` [PATCH 5.4 111/111] Revert "cifs: Set CIFS_MOUNT_USE_PREFIX_PATH flag on setting cifs_sb->prepath." Greg Kroah-Hartman
2021-04-12 13:12 ` [PATCH 5.4 000/111] 5.4.112-rc1 review Jon Hunter
2021-04-12 18:57 ` Florian Fainelli
2021-04-12 22:08 ` Guenter Roeck
2021-04-13 1:35 ` Shuah Khan
2021-04-13 5:17 ` Naresh Kamboju
2021-04-13 10:31 ` Samuel Zou
2021-04-13 10:42 ` Sudip Mukherjee
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=20210412084006.865835491@linuxfoundation.org \
--to=gregkh@linuxfoundation.org \
--cc=avri.altman@wdc.com \
--cc=beanhuo@micron.com \
--cc=bvanassche@acm.org \
--cc=cang@codeaurora.org \
--cc=linux-kernel@vger.kernel.org \
--cc=martin.petersen@oracle.com \
--cc=sashal@kernel.org \
--cc=stable@vger.kernel.org \
--cc=stanley.chu@mediatek.com \
--cc=tomas.winkler@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;
as well as URLs for NNTP newsgroup(s).