All of lore.kernel.org
 help / color / mirror / Atom feed
From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: linux-kernel@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	stable@vger.kernel.org, Julian Wiedmann <jwi@linux.ibm.com>,
	Benjamin Block <bblock@linux.ibm.com>,
	Heiko Carstens <hca@linux.ibm.com>,
	Sasha Levin <sashal@kernel.org>
Subject: [PATCH 5.12 177/384] s390/qdio: let driver manage the QAOB
Date: Mon, 10 May 2021 12:19:26 +0200	[thread overview]
Message-ID: <20210510102020.722107029@linuxfoundation.org> (raw)
In-Reply-To: <20210510102014.849075526@linuxfoundation.org>

From: Julian Wiedmann <jwi@linux.ibm.com>

[ Upstream commit 396c100472dd63bb1a5389d9dfb25a94943c41c9 ]

We are spending way too much effort on qdio-internal bookkeeping for
QAOB management & caching, and it's still not robust. Once qdio's
TX path has detached the QAOB from a PENDING buffer, we lost all
track of it until it shows up in a CQ notification again. So if the
device is torn down before that notification arrives, we leak the QAOB.

Just have the driver take care of it, and simply pass down a QAOB if
they want a TX with async-completion capability. For a buffer in PENDING
state that requires the QAOB for final completion, qeth can now also try
to recycle the buffer's QAOB rather than unconditionally freeing it.

This also eliminates the qdio_outbuf_state array, which was only needed
to transfer the aob->user1 tag from the driver to the qdio layer.

Signed-off-by: Julian Wiedmann <jwi@linux.ibm.com>
Acked-by: Benjamin Block <bblock@linux.ibm.com>
Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 arch/s390/include/asm/qdio.h      |  22 ++-----
 drivers/s390/cio/qdio.h           |  10 ---
 drivers/s390/cio/qdio_main.c      |  63 +++---------------
 drivers/s390/cio/qdio_setup.c     |  49 +-------------
 drivers/s390/net/qeth_core.h      |   3 +-
 drivers/s390/net/qeth_core_main.c | 102 ++++++++++++++----------------
 drivers/s390/scsi/zfcp_qdio.c     |   7 +-
 7 files changed, 66 insertions(+), 190 deletions(-)

diff --git a/arch/s390/include/asm/qdio.h b/arch/s390/include/asm/qdio.h
index d9215c7106f0..8fc52679543d 100644
--- a/arch/s390/include/asm/qdio.h
+++ b/arch/s390/include/asm/qdio.h
@@ -246,21 +246,8 @@ struct slsb {
 	u8 val[QDIO_MAX_BUFFERS_PER_Q];
 } __attribute__ ((packed, aligned(256)));
 
-/**
- * struct qdio_outbuf_state - SBAL related asynchronous operation information
- *   (for communication with upper layer programs)
- *   (only required for use with completion queues)
- * @user: pointer to upper layer program's state information related to SBAL
- *        (stored in user1 data of QAOB)
- */
-struct qdio_outbuf_state {
-	void *user;
-};
-
-#define CHSC_AC1_INITIATE_INPUTQ	0x80
-
-
 /* qdio adapter-characteristics-1 flag */
+#define CHSC_AC1_INITIATE_INPUTQ	0x80
 #define AC1_SIGA_INPUT_NEEDED		0x40	/* process input queues */
 #define AC1_SIGA_OUTPUT_NEEDED		0x20	/* process output queues */
 #define AC1_SIGA_SYNC_NEEDED		0x10	/* ask hypervisor to sync */
@@ -338,7 +325,6 @@ typedef void qdio_handler_t(struct ccw_device *, unsigned int, int,
  * @int_parm: interruption parameter
  * @input_sbal_addr_array:  per-queue array, each element points to 128 SBALs
  * @output_sbal_addr_array: per-queue array, each element points to 128 SBALs
- * @output_sbal_state_array: no_output_qs * 128 state info (for CQ or NULL)
  */
 struct qdio_initialize {
 	unsigned char q_format;
@@ -357,7 +343,6 @@ struct qdio_initialize {
 	unsigned long int_parm;
 	struct qdio_buffer ***input_sbal_addr_array;
 	struct qdio_buffer ***output_sbal_addr_array;
-	struct qdio_outbuf_state *output_sbal_state_array;
 };
 
 #define QDIO_STATE_INACTIVE		0x00000002 /* after qdio_cleanup */
@@ -378,9 +363,10 @@ extern int qdio_allocate(struct ccw_device *cdev, unsigned int no_input_qs,
 extern int qdio_establish(struct ccw_device *cdev,
 			  struct qdio_initialize *init_data);
 extern int qdio_activate(struct ccw_device *);
+extern struct qaob *qdio_allocate_aob(void);
 extern void qdio_release_aob(struct qaob *);
-extern int do_QDIO(struct ccw_device *, unsigned int, int, unsigned int,
-		   unsigned int);
+extern int do_QDIO(struct ccw_device *cdev, unsigned int callflags, int q_nr,
+		   unsigned int bufnr, unsigned int count, struct qaob *aob);
 extern int qdio_start_irq(struct ccw_device *cdev);
 extern int qdio_stop_irq(struct ccw_device *cdev);
 extern int qdio_get_next_buffers(struct ccw_device *, int, int *, int *);
diff --git a/drivers/s390/cio/qdio.h b/drivers/s390/cio/qdio.h
index 34bf2f197c71..0e0044d70844 100644
--- a/drivers/s390/cio/qdio.h
+++ b/drivers/s390/cio/qdio.h
@@ -181,12 +181,6 @@ struct qdio_input_q {
 struct qdio_output_q {
 	/* PCIs are enabled for the queue */
 	int pci_out_enabled;
-	/* cq: use asynchronous output buffers */
-	int use_cq;
-	/* cq: aobs used for particual SBAL */
-	struct qaob **aobs;
-	/* cq: sbal state related to asynchronous operation */
-	struct qdio_outbuf_state *sbal_state;
 	/* timer to check for more outbound work */
 	struct timer_list timer;
 	/* tasklet to check for completions */
@@ -379,12 +373,8 @@ int qdio_setup_irq(struct qdio_irq *irq_ptr, struct qdio_initialize *init_data);
 void qdio_shutdown_irq(struct qdio_irq *irq);
 void qdio_print_subchannel_info(struct qdio_irq *irq_ptr);
 void qdio_free_queues(struct qdio_irq *irq_ptr);
-void qdio_free_async_data(struct qdio_irq *irq_ptr);
 int qdio_setup_init(void);
 void qdio_setup_exit(void);
-int qdio_enable_async_operation(struct qdio_output_q *q);
-void qdio_disable_async_operation(struct qdio_output_q *q);
-struct qaob *qdio_allocate_aob(void);
 
 int debug_get_buf_state(struct qdio_q *q, unsigned int bufnr,
 			unsigned char *state);
diff --git a/drivers/s390/cio/qdio_main.c b/drivers/s390/cio/qdio_main.c
index 03a011619908..307ce7ff5ca4 100644
--- a/drivers/s390/cio/qdio_main.c
+++ b/drivers/s390/cio/qdio_main.c
@@ -517,24 +517,6 @@ static inline int qdio_inbound_q_done(struct qdio_q *q, unsigned int start)
 	return 1;
 }
 
-static inline unsigned long qdio_aob_for_buffer(struct qdio_output_q *q,
-					int bufnr)
-{
-	unsigned long phys_aob = 0;
-
-	if (!q->aobs[bufnr]) {
-		struct qaob *aob = qdio_allocate_aob();
-		q->aobs[bufnr] = aob;
-	}
-	if (q->aobs[bufnr]) {
-		q->aobs[bufnr]->user1 = (u64) q->sbal_state[bufnr].user;
-		phys_aob = virt_to_phys(q->aobs[bufnr]);
-		WARN_ON_ONCE(phys_aob & 0xFF);
-	}
-
-	return phys_aob;
-}
-
 static inline int qdio_tasklet_schedule(struct qdio_q *q)
 {
 	if (likely(q->irq_ptr->state == QDIO_IRQ_STATE_ACTIVE)) {
@@ -548,7 +530,6 @@ static int get_outbound_buffer_frontier(struct qdio_q *q, unsigned int start,
 					unsigned int *error)
 {
 	unsigned char state = 0;
-	unsigned int i;
 	int count;
 
 	q->timestamp = get_tod_clock_fast();
@@ -570,10 +551,6 @@ static int get_outbound_buffer_frontier(struct qdio_q *q, unsigned int start,
 
 	switch (state) {
 	case SLSB_P_OUTPUT_PENDING:
-		/* detach the utilized QAOBs: */
-		for (i = 0; i < count; i++)
-			q->u.out.aobs[QDIO_BUFNR(start + i)] = NULL;
-
 		*error = QDIO_ERROR_SLSB_PENDING;
 		fallthrough;
 	case SLSB_P_OUTPUT_EMPTY:
@@ -999,7 +976,6 @@ int qdio_free(struct ccw_device *cdev)
 	cdev->private->qdio_data = NULL;
 	mutex_unlock(&irq_ptr->setup_mutex);
 
-	qdio_free_async_data(irq_ptr);
 	qdio_free_queues(irq_ptr);
 	free_page((unsigned long) irq_ptr->qdr);
 	free_page(irq_ptr->chsc_page);
@@ -1075,28 +1051,6 @@ err_dbf:
 }
 EXPORT_SYMBOL_GPL(qdio_allocate);
 
-static void qdio_detect_hsicq(struct qdio_irq *irq_ptr)
-{
-	struct qdio_q *q = irq_ptr->input_qs[0];
-	int i, use_cq = 0;
-
-	if (irq_ptr->nr_input_qs > 1 && queue_type(q) == QDIO_IQDIO_QFMT)
-		use_cq = 1;
-
-	for_each_output_queue(irq_ptr, q, i) {
-		if (use_cq) {
-			if (multicast_outbound(q))
-				continue;
-			if (qdio_enable_async_operation(&q->u.out) < 0) {
-				use_cq = 0;
-				continue;
-			}
-		} else
-			qdio_disable_async_operation(&q->u.out);
-	}
-	DBF_EVENT("use_cq:%d", use_cq);
-}
-
 static void qdio_trace_init_data(struct qdio_irq *irq,
 				 struct qdio_initialize *data)
 {
@@ -1191,8 +1145,6 @@ int qdio_establish(struct ccw_device *cdev,
 
 	qdio_setup_ssqd_info(irq_ptr);
 
-	qdio_detect_hsicq(irq_ptr);
-
 	/* qebsm is now setup if available, initialize buffer states */
 	qdio_init_buf_states(irq_ptr);
 
@@ -1297,9 +1249,11 @@ static int handle_inbound(struct qdio_q *q, unsigned int callflags,
  * @callflags: flags
  * @bufnr: first buffer to process
  * @count: how many buffers are filled
+ * @aob: asynchronous operation block
  */
 static int handle_outbound(struct qdio_q *q, unsigned int callflags,
-			   unsigned int bufnr, unsigned int count)
+			   unsigned int bufnr, unsigned int count,
+			   struct qaob *aob)
 {
 	const unsigned int scan_threshold = q->irq_ptr->scan_threshold;
 	unsigned char state = 0;
@@ -1320,11 +1274,9 @@ static int handle_outbound(struct qdio_q *q, unsigned int callflags,
 		q->u.out.pci_out_enabled = 0;
 
 	if (queue_type(q) == QDIO_IQDIO_QFMT) {
-		unsigned long phys_aob = 0;
-
-		if (q->u.out.use_cq && count == 1)
-			phys_aob = qdio_aob_for_buffer(&q->u.out, bufnr);
+		unsigned long phys_aob = aob ? virt_to_phys(aob) : 0;
 
+		WARN_ON_ONCE(!IS_ALIGNED(phys_aob, 256));
 		rc = qdio_kick_outbound_q(q, count, phys_aob);
 	} else if (need_siga_sync(q)) {
 		rc = qdio_siga_sync_q(q);
@@ -1359,9 +1311,10 @@ static int handle_outbound(struct qdio_q *q, unsigned int callflags,
  * @q_nr: queue number
  * @bufnr: buffer number
  * @count: how many buffers to process
+ * @aob: asynchronous operation block (outbound only)
  */
 int do_QDIO(struct ccw_device *cdev, unsigned int callflags,
-	    int q_nr, unsigned int bufnr, unsigned int count)
+	    int q_nr, unsigned int bufnr, unsigned int count, struct qaob *aob)
 {
 	struct qdio_irq *irq_ptr = cdev->private->qdio_data;
 
@@ -1383,7 +1336,7 @@ int do_QDIO(struct ccw_device *cdev, unsigned int callflags,
 				      callflags, bufnr, count);
 	else if (callflags & QDIO_FLAG_SYNC_OUTPUT)
 		return handle_outbound(irq_ptr->output_qs[q_nr],
-				       callflags, bufnr, count);
+				       callflags, bufnr, count, aob);
 	return -EINVAL;
 }
 EXPORT_SYMBOL_GPL(do_QDIO);
diff --git a/drivers/s390/cio/qdio_setup.c b/drivers/s390/cio/qdio_setup.c
index c8b9620bc688..da67e4979402 100644
--- a/drivers/s390/cio/qdio_setup.c
+++ b/drivers/s390/cio/qdio_setup.c
@@ -30,6 +30,7 @@ struct qaob *qdio_allocate_aob(void)
 {
 	return kmem_cache_zalloc(qdio_aob_cache, GFP_ATOMIC);
 }
+EXPORT_SYMBOL_GPL(qdio_allocate_aob);
 
 void qdio_release_aob(struct qaob *aob)
 {
@@ -247,8 +248,6 @@ static void setup_queues(struct qdio_irq *irq_ptr,
 			 struct qdio_initialize *qdio_init)
 {
 	struct qdio_q *q;
-	struct qdio_outbuf_state *output_sbal_state_array =
-				  qdio_init->output_sbal_state_array;
 	int i;
 
 	for_each_input_queue(irq_ptr, q, i) {
@@ -265,9 +264,6 @@ static void setup_queues(struct qdio_irq *irq_ptr,
 		DBF_EVENT("outq:%1d", i);
 		setup_queues_misc(q, irq_ptr, qdio_init->output_handler, i);
 
-		q->u.out.sbal_state = output_sbal_state_array;
-		output_sbal_state_array += QDIO_MAX_BUFFERS_PER_Q;
-
 		q->is_input_q = 0;
 		setup_storage_lists(q, irq_ptr,
 				    qdio_init->output_sbal_addr_array[i], i);
@@ -372,30 +368,6 @@ void qdio_setup_ssqd_info(struct qdio_irq *irq_ptr)
 	DBF_EVENT("3:%4x qib:%4x", irq_ptr->ssqd_desc.qdioac3, irq_ptr->qib.ac);
 }
 
-void qdio_free_async_data(struct qdio_irq *irq_ptr)
-{
-	struct qdio_q *q;
-	int i;
-
-	for (i = 0; i < irq_ptr->max_output_qs; i++) {
-		q = irq_ptr->output_qs[i];
-		if (q->u.out.use_cq) {
-			unsigned int n;
-
-			for (n = 0; n < QDIO_MAX_BUFFERS_PER_Q; n++) {
-				struct qaob *aob = q->u.out.aobs[n];
-
-				if (aob) {
-					qdio_release_aob(aob);
-					q->u.out.aobs[n] = NULL;
-				}
-			}
-
-			qdio_disable_async_operation(&q->u.out);
-		}
-	}
-}
-
 static void qdio_fill_qdr_desc(struct qdesfmt0 *desc, struct qdio_q *queue)
 {
 	desc->sliba = virt_to_phys(queue->slib);
@@ -545,25 +517,6 @@ void qdio_print_subchannel_info(struct qdio_irq *irq_ptr)
 	printk(KERN_INFO "%s", s);
 }
 
-int qdio_enable_async_operation(struct qdio_output_q *outq)
-{
-	outq->aobs = kcalloc(QDIO_MAX_BUFFERS_PER_Q, sizeof(struct qaob *),
-			     GFP_KERNEL);
-	if (!outq->aobs) {
-		outq->use_cq = 0;
-		return -ENOMEM;
-	}
-	outq->use_cq = 1;
-	return 0;
-}
-
-void qdio_disable_async_operation(struct qdio_output_q *q)
-{
-	kfree(q->aobs);
-	q->aobs = NULL;
-	q->use_cq = 0;
-}
-
 int __init qdio_setup_init(void)
 {
 	int rc;
diff --git a/drivers/s390/net/qeth_core.h b/drivers/s390/net/qeth_core.h
index 91acff493612..fd9b869d278e 100644
--- a/drivers/s390/net/qeth_core.h
+++ b/drivers/s390/net/qeth_core.h
@@ -437,6 +437,7 @@ struct qeth_qdio_out_buffer {
 
 	struct qeth_qdio_out_q *q;
 	struct list_head list_entry;
+	struct qaob *aob;
 };
 
 struct qeth_card;
@@ -499,7 +500,6 @@ struct qeth_out_q_stats {
 struct qeth_qdio_out_q {
 	struct qdio_buffer *qdio_bufs[QDIO_MAX_BUFFERS_PER_Q];
 	struct qeth_qdio_out_buffer *bufs[QDIO_MAX_BUFFERS_PER_Q];
-	struct qdio_outbuf_state *bufstates; /* convenience pointer */
 	struct list_head pending_bufs;
 	struct qeth_out_q_stats stats;
 	spinlock_t lock;
@@ -563,7 +563,6 @@ struct qeth_qdio_info {
 	/* output */
 	unsigned int no_out_queues;
 	struct qeth_qdio_out_q *out_qs[QETH_MAX_OUT_QUEUES];
-	struct qdio_outbuf_state *out_bufstates;
 
 	/* priority queueing */
 	int do_prio_queueing;
diff --git a/drivers/s390/net/qeth_core_main.c b/drivers/s390/net/qeth_core_main.c
index a814698387bc..175b82b98f36 100644
--- a/drivers/s390/net/qeth_core_main.c
+++ b/drivers/s390/net/qeth_core_main.c
@@ -369,8 +369,7 @@ static int qeth_cq_init(struct qeth_card *card)
 				   QDIO_MAX_BUFFERS_PER_Q);
 		card->qdio.c_q->next_buf_to_init = 127;
 		rc = do_QDIO(CARD_DDEV(card), QDIO_FLAG_SYNC_INPUT,
-			     card->qdio.no_in_queues - 1, 0,
-			     127);
+			     card->qdio.no_in_queues - 1, 0, 127, NULL);
 		if (rc) {
 			QETH_CARD_TEXT_(card, 2, "1err%d", rc);
 			goto out;
@@ -383,48 +382,22 @@ out:
 
 static int qeth_alloc_cq(struct qeth_card *card)
 {
-	int rc;
-
 	if (card->options.cq == QETH_CQ_ENABLED) {
-		int i;
-		struct qdio_outbuf_state *outbuf_states;
-
 		QETH_CARD_TEXT(card, 2, "cqon");
 		card->qdio.c_q = qeth_alloc_qdio_queue();
 		if (!card->qdio.c_q) {
-			rc = -1;
-			goto kmsg_out;
+			dev_err(&card->gdev->dev, "Failed to create completion queue\n");
+			return -ENOMEM;
 		}
+
 		card->qdio.no_in_queues = 2;
-		card->qdio.out_bufstates =
-			kcalloc(card->qdio.no_out_queues *
-					QDIO_MAX_BUFFERS_PER_Q,
-				sizeof(struct qdio_outbuf_state),
-				GFP_KERNEL);
-		outbuf_states = card->qdio.out_bufstates;
-		if (outbuf_states == NULL) {
-			rc = -1;
-			goto free_cq_out;
-		}
-		for (i = 0; i < card->qdio.no_out_queues; ++i) {
-			card->qdio.out_qs[i]->bufstates = outbuf_states;
-			outbuf_states += QDIO_MAX_BUFFERS_PER_Q;
-		}
 	} else {
 		QETH_CARD_TEXT(card, 2, "nocq");
 		card->qdio.c_q = NULL;
 		card->qdio.no_in_queues = 1;
 	}
 	QETH_CARD_TEXT_(card, 2, "iqc%d", card->qdio.no_in_queues);
-	rc = 0;
-out:
-	return rc;
-free_cq_out:
-	qeth_free_qdio_queue(card->qdio.c_q);
-	card->qdio.c_q = NULL;
-kmsg_out:
-	dev_err(&card->gdev->dev, "Failed to create completion queue\n");
-	goto out;
+	return 0;
 }
 
 static void qeth_free_cq(struct qeth_card *card)
@@ -434,8 +407,6 @@ static void qeth_free_cq(struct qeth_card *card)
 		qeth_free_qdio_queue(card->qdio.c_q);
 		card->qdio.c_q = NULL;
 	}
-	kfree(card->qdio.out_bufstates);
-	card->qdio.out_bufstates = NULL;
 }
 
 static enum iucv_tx_notify qeth_compute_cq_notification(int sbalf15,
@@ -487,12 +458,12 @@ static void qeth_qdio_handle_aob(struct qeth_card *card,
 	switch (atomic_xchg(&buffer->state, new_state)) {
 	case QETH_QDIO_BUF_PRIMED:
 		/* Faster than TX completion code, let it handle the async
-		 * completion for us.
+		 * completion for us. It will also recycle the QAOB.
 		 */
 		break;
 	case QETH_QDIO_BUF_PENDING:
 		/* TX completion code is active and will handle the async
-		 * completion for us.
+		 * completion for us. It will also recycle the QAOB.
 		 */
 		break;
 	case QETH_QDIO_BUF_NEED_QAOB:
@@ -501,7 +472,7 @@ static void qeth_qdio_handle_aob(struct qeth_card *card,
 		qeth_notify_skbs(buffer->q, buffer, notification);
 
 		/* Free dangling allocations. The attached skbs are handled by
-		 * qeth_tx_complete_pending_bufs().
+		 * qeth_tx_complete_pending_bufs(), and so is the QAOB.
 		 */
 		for (i = 0;
 		     i < aob->sb_count && i < QETH_MAX_BUFFER_ELEMENTS(card);
@@ -520,8 +491,6 @@ static void qeth_qdio_handle_aob(struct qeth_card *card,
 	default:
 		WARN_ON_ONCE(1);
 	}
-
-	qdio_release_aob(aob);
 }
 
 static void qeth_setup_ccw(struct ccw1 *ccw, u8 cmd_code, u8 flags, u32 len,
@@ -1451,6 +1420,13 @@ static void qeth_clear_output_buffer(struct qeth_qdio_out_q *queue,
 	atomic_set(&buf->state, QETH_QDIO_BUF_EMPTY);
 }
 
+static void qeth_free_out_buf(struct qeth_qdio_out_buffer *buf)
+{
+	if (buf->aob)
+		qdio_release_aob(buf->aob);
+	kmem_cache_free(qeth_qdio_outbuf_cache, buf);
+}
+
 static void qeth_tx_complete_pending_bufs(struct qeth_card *card,
 					  struct qeth_qdio_out_q *queue,
 					  bool drain)
@@ -1468,7 +1444,7 @@ static void qeth_tx_complete_pending_bufs(struct qeth_card *card,
 			qeth_tx_complete_buf(buf, drain, 0);
 
 			list_del(&buf->list_entry);
-			kmem_cache_free(qeth_qdio_outbuf_cache, buf);
+			qeth_free_out_buf(buf);
 		}
 	}
 }
@@ -1485,7 +1461,7 @@ static void qeth_drain_output_queue(struct qeth_qdio_out_q *q, bool free)
 
 		qeth_clear_output_buffer(q, q->bufs[j], true, 0);
 		if (free) {
-			kmem_cache_free(qeth_qdio_outbuf_cache, q->bufs[j]);
+			qeth_free_out_buf(q->bufs[j]);
 			q->bufs[j] = NULL;
 		}
 	}
@@ -2637,7 +2613,7 @@ static struct qeth_qdio_out_q *qeth_alloc_output_queue(void)
 
 err_out_bufs:
 	while (i > 0)
-		kmem_cache_free(qeth_qdio_outbuf_cache, q->bufs[--i]);
+		qeth_free_out_buf(q->bufs[--i]);
 	qdio_free_buffers(q->qdio_bufs, QDIO_MAX_BUFFERS_PER_Q);
 err_qdio_bufs:
 	kfree(q);
@@ -3024,7 +3000,8 @@ static int qeth_init_qdio_queues(struct qeth_card *card)
 	}
 
 	card->qdio.in_q->next_buf_to_init = QDIO_BUFNR(rx_bufs);
-	rc = do_QDIO(CARD_DDEV(card), QDIO_FLAG_SYNC_INPUT, 0, 0, rx_bufs);
+	rc = do_QDIO(CARD_DDEV(card), QDIO_FLAG_SYNC_INPUT, 0, 0, rx_bufs,
+		     NULL);
 	if (rc) {
 		QETH_CARD_TEXT_(card, 2, "1err%d", rc);
 		return rc;
@@ -3516,7 +3493,7 @@ static unsigned int qeth_rx_refill_queue(struct qeth_card *card,
 		}
 
 		rc = do_QDIO(CARD_DDEV(card), QDIO_FLAG_SYNC_INPUT, 0,
-			     queue->next_buf_to_init, count);
+			     queue->next_buf_to_init, count, NULL);
 		if (rc) {
 			QETH_CARD_TEXT(card, 2, "qinberr");
 		}
@@ -3625,6 +3602,7 @@ static void qeth_flush_buffers(struct qeth_qdio_out_q *queue, int index,
 	struct qeth_qdio_out_buffer *buf = queue->bufs[index];
 	unsigned int qdio_flags = QDIO_FLAG_SYNC_OUTPUT;
 	struct qeth_card *card = queue->card;
+	struct qaob *aob = NULL;
 	int rc;
 	int i;
 
@@ -3637,16 +3615,24 @@ static void qeth_flush_buffers(struct qeth_qdio_out_q *queue, int index,
 				SBAL_EFLAGS_LAST_ENTRY;
 		queue->coalesced_frames += buf->frames;
 
-		if (queue->bufstates)
-			queue->bufstates[bidx].user = buf;
-
 		if (IS_IQD(card)) {
 			skb_queue_walk(&buf->skb_list, skb)
 				skb_tx_timestamp(skb);
 		}
 	}
 
-	if (!IS_IQD(card)) {
+	if (IS_IQD(card)) {
+		if (card->options.cq == QETH_CQ_ENABLED &&
+		    !qeth_iqd_is_mcast_queue(card, queue) &&
+		    count == 1) {
+			if (!buf->aob)
+				buf->aob = qdio_allocate_aob();
+			if (buf->aob) {
+				aob = buf->aob;
+				aob->user1 = (u64) buf;
+			}
+		}
+	} else {
 		if (!queue->do_pack) {
 			if ((atomic_read(&queue->used_buffers) >=
 				(QETH_HIGH_WATERMARK_PACK -
@@ -3677,8 +3663,8 @@ static void qeth_flush_buffers(struct qeth_qdio_out_q *queue, int index,
 	}
 
 	QETH_TXQ_STAT_INC(queue, doorbell);
-	rc = do_QDIO(CARD_DDEV(queue->card), qdio_flags,
-		     queue->queue_no, index, count);
+	rc = do_QDIO(CARD_DDEV(card), qdio_flags, queue->queue_no, index, count,
+		     aob);
 
 	switch (rc) {
 	case 0:
@@ -3814,8 +3800,7 @@ static void qeth_qdio_cq_handler(struct qeth_card *card, unsigned int qdio_err,
 		qeth_scrub_qdio_buffer(buffer, QDIO_MAX_ELEMENTS_PER_BUFFER);
 	}
 	rc = do_QDIO(CARD_DDEV(card), QDIO_FLAG_SYNC_INPUT, queue,
-		    card->qdio.c_q->next_buf_to_init,
-		    count);
+		     cq->next_buf_to_init, count, NULL);
 	if (rc) {
 		dev_warn(&card->gdev->dev,
 			"QDIO reported an error, rc=%i\n", rc);
@@ -5270,7 +5255,6 @@ static int qeth_qdio_establish(struct qeth_card *card)
 	init_data.int_parm               = (unsigned long) card;
 	init_data.input_sbal_addr_array  = in_sbal_ptrs;
 	init_data.output_sbal_addr_array = out_sbal_ptrs;
-	init_data.output_sbal_state_array = card->qdio.out_bufstates;
 	init_data.scan_threshold	 = IS_IQD(card) ? 0 : 32;
 
 	if (atomic_cmpxchg(&card->qdio.state, QETH_QDIO_ALLOCATED,
@@ -6069,7 +6053,15 @@ static void qeth_iqd_tx_complete(struct qeth_qdio_out_q *queue,
 	bool error = !!qdio_error;
 
 	if (qdio_error == QDIO_ERROR_SLSB_PENDING) {
-		WARN_ON_ONCE(card->options.cq != QETH_CQ_ENABLED);
+		struct qaob *aob = buffer->aob;
+
+		if (!aob) {
+			netdev_WARN_ONCE(card->dev,
+					 "Pending TX buffer %#x without QAOB on TX queue %u\n",
+					 bidx, queue->queue_no);
+			qeth_schedule_recovery(card);
+			return;
+		}
 
 		QETH_CARD_TEXT_(card, 5, "pel%u", bidx);
 
@@ -6125,6 +6117,8 @@ static void qeth_iqd_tx_complete(struct qeth_qdio_out_q *queue,
 		default:
 			WARN_ON_ONCE(1);
 		}
+
+		memset(aob, 0, sizeof(*aob));
 	} else if (card->options.cq == QETH_CQ_ENABLED) {
 		qeth_notify_skbs(queue, buffer,
 				 qeth_compute_cq_notification(sflags, 0));
diff --git a/drivers/s390/scsi/zfcp_qdio.c b/drivers/s390/scsi/zfcp_qdio.c
index 23ab16d65f2a..049596cbfb5d 100644
--- a/drivers/s390/scsi/zfcp_qdio.c
+++ b/drivers/s390/scsi/zfcp_qdio.c
@@ -128,7 +128,7 @@ static void zfcp_qdio_int_resp(struct ccw_device *cdev, unsigned int qdio_err,
 	/*
 	 * put SBALs back to response queue
 	 */
-	if (do_QDIO(cdev, QDIO_FLAG_SYNC_INPUT, 0, idx, count))
+	if (do_QDIO(cdev, QDIO_FLAG_SYNC_INPUT, 0, idx, count, NULL))
 		zfcp_erp_adapter_reopen(qdio->adapter, 0, "qdires2");
 }
 
@@ -298,7 +298,7 @@ int zfcp_qdio_send(struct zfcp_qdio *qdio, struct zfcp_qdio_req *q_req)
 	atomic_sub(sbal_number, &qdio->req_q_free);
 
 	retval = do_QDIO(qdio->adapter->ccw_device, QDIO_FLAG_SYNC_OUTPUT, 0,
-			 q_req->sbal_first, sbal_number);
+			 q_req->sbal_first, sbal_number, NULL);
 
 	if (unlikely(retval)) {
 		/* Failed to submit the IO, roll back our modifications. */
@@ -463,7 +463,8 @@ int zfcp_qdio_open(struct zfcp_qdio *qdio)
 		sbale->addr = 0;
 	}
 
-	if (do_QDIO(cdev, QDIO_FLAG_SYNC_INPUT, 0, 0, QDIO_MAX_BUFFERS_PER_Q))
+	if (do_QDIO(cdev, QDIO_FLAG_SYNC_INPUT, 0, 0, QDIO_MAX_BUFFERS_PER_Q,
+		    NULL))
 		goto failed_qdio;
 
 	/* set index of first available SBALS / number of available SBALS */
-- 
2.30.2




  parent reply	other threads:[~2021-05-10 12:22 UTC|newest]

Thread overview: 399+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-05-10 10:16 [PATCH 5.12 000/384] 5.12.3-rc1 review Greg Kroah-Hartman
2021-05-10 10:16 ` [PATCH 5.12 001/384] bus: mhi: core: Fix check for syserr at power_up Greg Kroah-Hartman
2021-05-10 10:16 ` [PATCH 5.12 002/384] bus: mhi: core: Clear configuration from channel context during reset Greg Kroah-Hartman
2021-05-10 10:16 ` [PATCH 5.12 003/384] bus: mhi: core: Sanity check values from remote device before use Greg Kroah-Hartman
2021-05-10 10:16 ` [PATCH 5.12 004/384] bus: mhi: core: Add missing checks for MMIO register entries Greg Kroah-Hartman
2021-05-10 10:16 ` [PATCH 5.12 005/384] bus: mhi: pci_generic: Remove WQ_MEM_RECLAIM flag from state workqueue Greg Kroah-Hartman
2021-05-10 10:16 ` [PATCH 5.12 006/384] bus: mhi: core: Fix MHI runtime_pm behavior Greg Kroah-Hartman
2021-05-10 10:16 ` [PATCH 5.12 007/384] bus: mhi: core: Fix invalid error returning in mhi_queue Greg Kroah-Hartman
2021-05-10 10:16 ` [PATCH 5.12 008/384] nitro_enclaves: Fix stale file descriptors on failed usercopy Greg Kroah-Hartman
2021-05-10 10:16 ` [PATCH 5.12 009/384] dyndbg: fix parsing file query without a line-range suffix Greg Kroah-Hartman
2021-05-10 10:16 ` [PATCH 5.12 010/384] s390/disassembler: increase ebpf disasm buffer size Greg Kroah-Hartman
2021-05-10 10:16 ` [PATCH 5.12 011/384] s390/zcrypt: fix zcard and zqueue hot-unplug memleak Greg Kroah-Hartman
2021-05-10 10:16 ` [PATCH 5.12 012/384] s390/vfio-ap: fix circular lockdep when setting/clearing crypto masks Greg Kroah-Hartman
2021-05-10 10:16 ` [PATCH 5.12 013/384] s390/cio: remove invalid condition on IO_SCH_UNREG Greg Kroah-Hartman
2021-05-10 10:16 ` [PATCH 5.12 014/384] vhost-vdpa: fix vm_flags for virtqueue doorbell mapping Greg Kroah-Hartman
2021-05-10 10:16 ` [PATCH 5.12 015/384] tpm: acpi: Check eventlog signature before using it Greg Kroah-Hartman
2021-05-10 10:16 ` [PATCH 5.12 016/384] ACPI: custom_method: fix potential use-after-free issue Greg Kroah-Hartman
2021-05-10 10:16 ` [PATCH 5.12 017/384] ACPI: custom_method: fix a possible memory leak Greg Kroah-Hartman
2021-05-10 10:16 ` [PATCH 5.12 018/384] ftrace: Handle commands when closing set_ftrace_filter file Greg Kroah-Hartman
2021-05-10 10:16 ` [PATCH 5.12 019/384] ARM: 9056/1: decompressor: fix BSS size calculation for LLVM ld.lld Greg Kroah-Hartman
2021-05-10 10:16 ` [PATCH 5.12 020/384] arm64: dts: marvell: armada-37xx: add syscon compatible to NB clk node Greg Kroah-Hartman
2021-05-10 10:16 ` [PATCH 5.12 021/384] arm64: dts: mt8173: fix property typo of phys in dsi node Greg Kroah-Hartman
2021-05-10 10:16 ` [PATCH 5.12 022/384] ecryptfs: fix kernel panic with null dev_name Greg Kroah-Hartman
2021-05-10 10:16 ` [PATCH 5.12 023/384] fs/epoll: restore waking from ep_done_scan() Greg Kroah-Hartman
2021-05-10 10:16 ` [PATCH 5.12 024/384] reset: add missing empty function reset_control_rearm() Greg Kroah-Hartman
2021-05-10 10:16 ` [PATCH 5.12 025/384] mtd: spi-nor: core: Fix an issue of releasing resources during read/write Greg Kroah-Hartman
2021-05-10 10:16 ` [PATCH 5.12 026/384] Revert "mtd: spi-nor: macronix: Add support for mx25l51245g" Greg Kroah-Hartman
2021-05-10 10:16 ` [PATCH 5.12 027/384] mtd: spinand: core: add missing MODULE_DEVICE_TABLE() Greg Kroah-Hartman
2021-05-10 10:16 ` [PATCH 5.12 028/384] mtd: rawnand: atmel: Update ecc_stats.corrected counter Greg Kroah-Hartman
2021-05-10 10:16 ` [PATCH 5.12 029/384] mtd: physmap: physmap-bt1-rom: Fix unintentional stack access Greg Kroah-Hartman
2021-05-10 10:16 ` [PATCH 5.12 030/384] erofs: add unsupported inode i_format check Greg Kroah-Hartman
2021-05-10 10:17 ` [PATCH 5.12 031/384] spi: stm32-qspi: fix pm_runtime usage_count counter Greg Kroah-Hartman
2021-05-10 10:17 ` [PATCH 5.12 032/384] spi: spi-ti-qspi: Free DMA resources Greg Kroah-Hartman
2021-05-10 10:17 ` [PATCH 5.12 033/384] libceph: bump CephXAuthenticate encoding version Greg Kroah-Hartman
2021-05-10 10:17 ` [PATCH 5.12 034/384] libceph: allow addrvecs with a single NONE/blank address Greg Kroah-Hartman
2021-05-10 10:17 ` [PATCH 5.12 035/384] scsi: qla2xxx: Reserve extra IRQ vectors Greg Kroah-Hartman
2021-05-10 10:17 ` [PATCH 5.12 036/384] scsi: lpfc: Fix rmmod crash due to bad ring pointers to abort_iotag Greg Kroah-Hartman
2021-05-10 10:17 ` [PATCH 5.12 037/384] scsi: qla2xxx: Fix crash in qla2xxx_mqueuecommand() Greg Kroah-Hartman
2021-05-10 10:17 ` [PATCH 5.12 038/384] scsi: mpt3sas: Only one vSES is present even when IOC has multi vSES Greg Kroah-Hartman
2021-05-10 10:17 ` [PATCH 5.12 039/384] scsi: mpt3sas: Block PCI config access from userspace during reset Greg Kroah-Hartman
2021-05-10 10:17 ` [PATCH 5.12 040/384] mmc: uniphier-sd: Fix an error handling path in uniphier_sd_probe() Greg Kroah-Hartman
2021-05-10 10:17 ` [PATCH 5.12 041/384] mmc: uniphier-sd: Fix a resource leak in the remove function Greg Kroah-Hartman
2021-05-10 10:17 ` [PATCH 5.12 042/384] mmc: sdhci: Check for reset prior to DMA address unmap Greg Kroah-Hartman
2021-05-10 10:17 ` [PATCH 5.12 043/384] mmc: sdhci-pci: Fix initialization of some SD cards for Intel BYT-based controllers Greg Kroah-Hartman
2021-05-10 10:17 ` [PATCH 5.12 044/384] mmc: sdhci-tegra: Add required callbacks to set/clear CQE_EN bit Greg Kroah-Hartman
2021-05-10 10:17 ` [PATCH 5.12 045/384] mmc: block: Update ext_csd.cache_ctrl if it was written Greg Kroah-Hartman
2021-05-10 10:17 ` [PATCH 5.12 046/384] mmc: block: Issue a cache flush only when its enabled Greg Kroah-Hartman
2021-05-10 10:17 ` [PATCH 5.12 047/384] mmc: core: Do a power cycle when the CMD11 fails Greg Kroah-Hartman
2021-05-10 10:17 ` [PATCH 5.12 048/384] mmc: core: Set read only for SD cards with permanent write protect bit Greg Kroah-Hartman
2021-05-10 10:17 ` [PATCH 5.12 049/384] mmc: core: Fix hanging on I/O during system suspend for removable cards Greg Kroah-Hartman
2021-05-10 10:17 ` [PATCH 5.12 050/384] irqchip/gic-v3: Do not enable irqs when handling spurious interrups Greg Kroah-Hartman
2021-05-10 10:17 ` [PATCH 5.12 051/384] cifs: Return correct error code from smb2_get_enc_key Greg Kroah-Hartman
2021-05-10 10:17 ` [PATCH 5.12 052/384] cifs: fix out-of-bound memory access when calling smb3_notify() at mount point Greg Kroah-Hartman
2021-05-10 10:17 ` [PATCH 5.12 053/384] cifs: fix leak in cifs_smb3_do_mount() ctx Greg Kroah-Hartman
2021-05-10 10:17 ` [PATCH 5.12 054/384] cifs: detect dead connections only when echoes are enabled Greg Kroah-Hartman
2021-05-10 10:17 ` [PATCH 5.12 055/384] cifs: fix regression when mounting shares with prefix paths Greg Kroah-Hartman
2021-05-10 10:17 ` [PATCH 5.12 056/384] smb2: fix use-after-free in smb2_ioctl_query_info() Greg Kroah-Hartman
2021-05-10 10:17 ` [PATCH 5.12 057/384] btrfs: handle remount to no compress during compression Greg Kroah-Hartman
2021-05-10 10:17 ` [PATCH 5.12 058/384] x86/build: Disable HIGHMEM64G selection for M486SX Greg Kroah-Hartman
2021-05-10 10:17 ` [PATCH 5.12 059/384] btrfs: fix metadata extent leak after failure to create subvolume Greg Kroah-Hartman
2021-05-10 10:17 ` [PATCH 5.12 060/384] intel_th: pci: Add Rocket Lake CPU support Greg Kroah-Hartman
2021-05-10 10:17 ` [PATCH 5.12 061/384] btrfs: fix race between transaction aborts and fsyncs leading to use-after-free Greg Kroah-Hartman
2021-05-10 10:17 ` [PATCH 5.12 062/384] btrfs: zoned: fix unpaired block group unfreeze during device replace Greg Kroah-Hartman
2021-05-10 10:17 ` [PATCH 5.12 063/384] btrfs: zoned: fail mount if the device does not support zone append Greg Kroah-Hartman
2021-05-10 10:17 ` [PATCH 5.12 064/384] posix-timers: Preserve return value in clock_adjtime32() Greg Kroah-Hartman
2021-05-10 10:17 ` [PATCH 5.12 065/384] fbdev: zero-fill colormap in fbcmap.c Greg Kroah-Hartman
2021-05-10 10:17 ` [PATCH 5.12 066/384] cpuidle: tegra: Fix C7 idling state on Tegra114 Greg Kroah-Hartman
2021-05-10 10:17 ` [PATCH 5.12 067/384] bus: ti-sysc: Probe for l4_wkup and l4_cfg interconnect devices first Greg Kroah-Hartman
2021-05-10 10:17 ` [PATCH 5.12 068/384] staging: wimax/i2400m: fix byte-order issue Greg Kroah-Hartman
2021-05-10 10:17 ` [PATCH 5.12 069/384] spi: ath79: always call chipselect function Greg Kroah-Hartman
2021-05-10 10:17 ` [PATCH 5.12 070/384] spi: ath79: remove spi-master setup and cleanup assignment Greg Kroah-Hartman
2021-05-10 10:17 ` [PATCH 5.12 071/384] bus: mhi: pci_generic: No-Op for device_wake operations Greg Kroah-Hartman
2021-05-10 10:17 ` [PATCH 5.12 072/384] bus: mhi: core: Destroy SBL devices when moving to mission mode Greg Kroah-Hartman
2021-05-10 10:17 ` [PATCH 5.12 073/384] bus: mhi: core: Process execution environment changes serially Greg Kroah-Hartman
2021-05-10 10:17 ` [PATCH 5.12 074/384] crypto: api - check for ERR pointers in crypto_destroy_tfm() Greg Kroah-Hartman
2021-05-10 10:17 ` [PATCH 5.12 075/384] crypto: qat - fix unmap invalid dma address Greg Kroah-Hartman
2021-05-10 10:17 ` [PATCH 5.12 076/384] usb: gadget: uvc: add bInterval checking for HS mode Greg Kroah-Hartman
2021-05-10 10:17 ` [PATCH 5.12 077/384] usb: webcam: Invalid size of Processing Unit Descriptor Greg Kroah-Hartman
2021-05-10 10:17 ` [PATCH 5.12 078/384] x86/sev: Do not require Hypervisor CPUID bit for SEV guests Greg Kroah-Hartman
2021-05-10 10:17 ` [PATCH 5.12 079/384] crypto: hisilicon/sec - fixes a printing error Greg Kroah-Hartman
2021-05-10 10:17 ` [PATCH 5.12 080/384] genirq/matrix: Prevent allocation counter corruption Greg Kroah-Hartman
2021-05-10 10:17 ` [PATCH 5.12 081/384] usb: gadget: f_uac2: validate input parameters Greg Kroah-Hartman
2021-05-10 10:17 ` [PATCH 5.12 082/384] usb: gadget: f_uac1: " Greg Kroah-Hartman
2021-05-10 10:17 ` [PATCH 5.12 083/384] usb: dwc3: gadget: Ignore EP queue requests during bus reset Greg Kroah-Hartman
2021-05-10 10:17 ` [PATCH 5.12 084/384] usb: xhci: Fix port minor revision Greg Kroah-Hartman
2021-05-10 10:17 ` [PATCH 5.12 085/384] kselftest/arm64: mte: Fix compilation with native compiler Greg Kroah-Hartman
2021-05-10 10:17 ` [PATCH 5.12 086/384] ARM: tegra: acer-a500: Rename avdd to vdda of touchscreen node Greg Kroah-Hartman
2021-05-10 10:17 ` [PATCH 5.12 087/384] PCI: PM: Do not read power state in pci_enable_device_flags() Greg Kroah-Hartman
2021-05-10 10:17 ` [PATCH 5.12 088/384] kselftest/arm64: mte: Fix MTE feature detection Greg Kroah-Hartman
2021-05-10 10:17 ` [PATCH 5.12 089/384] ARM: dts: BCM5301X: fix "reg" formatting in /memory node Greg Kroah-Hartman
2021-05-10 10:17 ` [PATCH 5.12 090/384] ARM: dts: ux500: Fix up TVK R3 sensors Greg Kroah-Hartman
2021-05-10 10:18 ` [PATCH 5.12 091/384] x86/build: Propagate $(CLANG_FLAGS) to $(REALMODE_FLAGS) Greg Kroah-Hartman
2021-05-10 10:18 ` [PATCH 5.12 092/384] x86/boot: Add $(CLANG_FLAGS) to compressed KBUILD_CFLAGS Greg Kroah-Hartman
2021-05-10 10:18 ` [PATCH 5.12 093/384] efi/libstub: Add $(CLANG_FLAGS) to x86 flags Greg Kroah-Hartman
2021-05-10 10:18 ` [PATCH 5.12 094/384] soc/tegra: pmc: Fix completion of power-gate toggling Greg Kroah-Hartman
2021-05-10 10:18 ` [PATCH 5.12 095/384] arm64: dts: imx8mq-librem5-r3: Mark buck3 as always on Greg Kroah-Hartman
2021-05-10 10:18 ` [PATCH 5.12 096/384] tee: optee: do not check memref size on return from Secure World Greg Kroah-Hartman
2021-05-10 10:18 ` [PATCH 5.12 097/384] soundwire: cadence: only prepare attached devices on clock stop Greg Kroah-Hartman
2021-05-10 10:18 ` [PATCH 5.12 098/384] perf/arm_pmu_platform: Use dev_err_probe() for IRQ errors Greg Kroah-Hartman
2021-05-10 10:18 ` [PATCH 5.12 099/384] perf/arm_pmu_platform: Fix error handling Greg Kroah-Hartman
2021-05-10 10:18 ` [PATCH 5.12 100/384] random: initialize ChaCha20 constants with correct endianness Greg Kroah-Hartman
2021-05-10 10:18 ` [PATCH 5.12 101/384] usb: xhci-mtk: support quirk to disable usb2 lpm Greg Kroah-Hartman
2021-05-10 10:18 ` [PATCH 5.12 102/384] fpga: dfl: pci: add DID for D5005 PAC cards Greg Kroah-Hartman
2021-05-10 10:18 ` [PATCH 5.12 103/384] xhci: check port array allocation was successful before dereferencing it Greg Kroah-Hartman
2021-05-10 10:18 ` [PATCH 5.12 104/384] xhci: check control context is valid " Greg Kroah-Hartman
2021-05-10 10:18 ` [PATCH 5.12 105/384] xhci: fix potential array out of bounds with several interrupters Greg Kroah-Hartman
2021-05-10 10:18 ` [PATCH 5.12 106/384] xhci: prevent double-fetch of transfer and transfer event TRBs Greg Kroah-Hartman
2021-05-10 10:18 ` [PATCH 5.12 107/384] bus: mhi: core: Clear context for stopped channels from remove() Greg Kroah-Hartman
2021-05-10 10:18 ` [PATCH 5.12 108/384] bus: mhi: pci_generic: Implement PCI shutdown callback Greg Kroah-Hartman
2021-05-10 10:18 ` [PATCH 5.12 109/384] ARM: dts: at91: change the key code of the gpio key Greg Kroah-Hartman
2021-05-10 10:18 ` [PATCH 5.12 110/384] tools/power/x86/intel-speed-select: Increase string size Greg Kroah-Hartman
2021-05-10 10:18 ` [PATCH 5.12 111/384] platform/x86: ISST: Account for increased timeout in some cases Greg Kroah-Hartman
2021-05-10 10:18 ` [PATCH 5.12 112/384] clocksource/drivers/dw_apb_timer_of: Add handling for potential memory leak Greg Kroah-Hartman
2021-05-10 10:18 ` [PATCH 5.12 113/384] resource: Prevent irqresource_disabled() from erasing flags Greg Kroah-Hartman
2021-05-10 10:18 ` [PATCH 5.12 114/384] spi: dln2: Fix reference leak to master Greg Kroah-Hartman
2021-05-10 10:18 ` [PATCH 5.12 115/384] spi: omap-100k: " Greg Kroah-Hartman
2021-05-10 10:18 ` [PATCH 5.12 116/384] spi: qup: fix PM reference leak in spi_qup_remove() Greg Kroah-Hartman
2021-05-10 10:18 ` [PATCH 5.12 117/384] usb: dwc3: pci: add support for the Intel Alder Lake-M Greg Kroah-Hartman
2021-05-10 10:18 ` [PATCH 5.12 118/384] usb: gadget: tegra-xudc: Fix possible use-after-free in tegra_xudc_remove() Greg Kroah-Hartman
2021-05-10 10:18 ` [PATCH 5.12 119/384] usb: musb: fix PM reference leak in musb_irq_work() Greg Kroah-Hartman
2021-05-10 10:18 ` [PATCH 5.12 120/384] usb: core: hub: Fix PM reference leak in usb_port_resume() Greg Kroah-Hartman
2021-05-10 10:18 ` [PATCH 5.12 121/384] usb: dwc3: gadget: Check for disabled LPM quirk Greg Kroah-Hartman
2021-05-10 10:18 ` [PATCH 5.12 122/384] tty: n_gsm: check error while registering tty devices Greg Kroah-Hartman
2021-05-10 10:18 ` [PATCH 5.12 123/384] intel_th: Consistency and off-by-one fix Greg Kroah-Hartman
2021-05-10 10:18 ` [PATCH 5.12 124/384] phy: phy-twl4030-usb: Fix possible use-after-free in twl4030_usb_remove() Greg Kroah-Hartman
2021-05-10 10:18 ` [PATCH 5.12 125/384] crypto: sun4i-ss - Fix PM reference leak when pm_runtime_get_sync() fails Greg Kroah-Hartman
2021-05-10 10:18 ` [PATCH 5.12 126/384] crypto: sun8i-ss " Greg Kroah-Hartman
2021-05-10 10:18 ` [PATCH 5.12 127/384] crypto: sun8i-ce - Fix PM reference leak in sun8i_ce_probe() Greg Kroah-Hartman
2021-05-10 10:18 ` [PATCH 5.12 128/384] crypto: stm32/hash - Fix PM reference leak on stm32-hash.c Greg Kroah-Hartman
2021-05-10 10:18 ` [PATCH 5.12 129/384] crypto: stm32/cryp - Fix PM reference leak on stm32-cryp.c Greg Kroah-Hartman
2021-05-10 10:18 ` [PATCH 5.12 130/384] crypto: sa2ul - Fix PM reference leak in sa_ul_probe() Greg Kroah-Hartman
2021-05-10 10:18 ` [PATCH 5.12 131/384] crypto: omap-aes - Fix PM reference leak on omap-aes.c Greg Kroah-Hartman
2021-05-10 10:18 ` [PATCH 5.12 132/384] platform/x86: intel_pmc_core: Dont use global pmcdev in quirks Greg Kroah-Hartman
2021-05-10 10:18 ` [PATCH 5.12 133/384] spi: sync up initial chipselect state Greg Kroah-Hartman
2021-05-10 10:18 ` [PATCH 5.12 134/384] btrfs: use btrfs_inode_lock/btrfs_inode_unlock inode lock helpers Greg Kroah-Hartman
2021-05-10 10:18 ` [PATCH 5.12 135/384] btrfs: fix race between marking inode needs to be logged and log syncing Greg Kroah-Hartman
2021-05-10 10:18 ` [PATCH 5.12 136/384] btrfs: fix exhaustion of the system chunk array due to concurrent allocations Greg Kroah-Hartman
2021-05-10 10:18 ` [PATCH 5.12 137/384] btrfs: do proper error handling in create_reloc_root Greg Kroah-Hartman
2021-05-10 10:18 ` [PATCH 5.12 138/384] btrfs: do proper error handling in btrfs_update_reloc_root Greg Kroah-Hartman
2021-05-10 10:18 ` [PATCH 5.12 139/384] btrfs: convert logic BUG_ON()s in replace_path to ASSERT()s Greg Kroah-Hartman
2021-05-10 10:18 ` [PATCH 5.12 140/384] regulator: da9121: automotive variants identity fix Greg Kroah-Hartman
2021-05-10 10:18 ` [PATCH 5.12 141/384] drm: Added orientation quirk for OneGX1 Pro Greg Kroah-Hartman
2021-05-10 10:18 ` [PATCH 5.12 142/384] drm/qxl: do not run release if qxl failed to init Greg Kroah-Hartman
2021-05-10 10:18 ` [PATCH 5.12 143/384] drm/qxl: release shadow on shutdown Greg Kroah-Hartman
2021-05-10 10:18 ` [PATCH 5.12 144/384] drm/ast: Fix invalid usage of AST_MAX_HWC_WIDTH in cursor atomic_check Greg Kroah-Hartman
2021-05-10 10:18 ` [PATCH 5.12 145/384] drm/amd/display: changing sr exit latency Greg Kroah-Hartman
2021-05-10 10:18 ` [PATCH 5.12 146/384] drm/amd/display: Fix MPC OGAM power on/off sequence Greg Kroah-Hartman
2021-05-10 10:18 ` [PATCH 5.12 147/384] drm/amd/pm: do not issue message while write "r" into pp_od_clk_voltage Greg Kroah-Hartman
2021-05-10 10:18 ` [PATCH 5.12 148/384] drm/ast: fix memory leak when unload the driver Greg Kroah-Hartman
2021-05-10 10:18 ` [PATCH 5.12 149/384] drm/amd/display: Check for DSC support instead of ASIC revision Greg Kroah-Hartman
2021-05-10 10:18 ` [PATCH 5.12 150/384] drm/amd/display: Dont optimize bandwidth before disabling planes Greg Kroah-Hartman
2021-05-10 10:19 ` [PATCH 5.12 151/384] drm/amd/display: Return invalid state if GPINT times out Greg Kroah-Hartman
2021-05-10 10:19 ` [PATCH 5.12 152/384] drm/amdgpu/display: buffer INTERRUPT_LOW_IRQ_CONTEXT interrupt work Greg Kroah-Hartman
2021-05-10 10:19 ` [PATCH 5.12 153/384] drm/amd/display/dc/dce/dce_aux: Remove duplicate line causing field overwritten issue Greg Kroah-Hartman
2021-05-10 10:19   ` Greg Kroah-Hartman
2021-05-10 10:19   ` Greg Kroah-Hartman
2021-05-10 10:19 ` [PATCH 5.12 154/384] scsi: lpfc: Fix incorrect dbde assignment when building target abts wqe Greg Kroah-Hartman
2021-05-10 10:19 ` [PATCH 5.12 155/384] scsi: lpfc: Fix pt2pt connection does not recover after LOGO Greg Kroah-Hartman
2021-05-10 10:19 ` [PATCH 5.12 156/384] scsi: lpfc: Fix status returned in lpfc_els_retry() error exit path Greg Kroah-Hartman
2021-05-10 10:19 ` [PATCH 5.12 157/384] scsi: lpfc: Fix PLOGI ACC to be transmit after REG_LOGIN Greg Kroah-Hartman
2021-05-10 10:19 ` [PATCH 5.12 158/384] scsi: lpfc: Fix ADISC handling that never frees nodes Greg Kroah-Hartman
2021-05-10 10:19 ` [PATCH 5.12 159/384] drm/amd/pm/swsmu: clean up user profile function Greg Kroah-Hartman
2021-05-10 10:19 ` [PATCH 5.12 160/384] drm/amdgpu: Fix some unload driver issues Greg Kroah-Hartman
2021-05-10 10:19 ` [PATCH 5.12 161/384] sched/fair: Fix task utilization accountability in compute_energy() Greg Kroah-Hartman
2021-05-10 10:19 ` [PATCH 5.12 162/384] sched/pelt: Fix task util_est update filtering Greg Kroah-Hartman
2021-05-10 10:19 ` [PATCH 5.12 163/384] sched/topology: fix the issue groups dont span domain->span for NUMA diameter > 2 Greg Kroah-Hartman
2021-05-10 10:19 ` [PATCH 5.12 164/384] kvfree_rcu: Use same set of GFP flags as does single-argument Greg Kroah-Hartman
2021-05-10 10:19 ` [PATCH 5.12 165/384] drm/virtio: fix possible leak/unlock virtio_gpu_object_array Greg Kroah-Hartman
2021-05-10 10:19 ` [PATCH 5.12 166/384] scsi: target: pscsi: Fix warning in pscsi_complete_cmd() Greg Kroah-Hartman
2021-05-10 10:19 ` [PATCH 5.12 167/384] media: ite-cir: check for receive overflow Greg Kroah-Hartman
2021-05-10 10:19 ` [PATCH 5.12 168/384] media: drivers: media: pci: sta2x11: fix Kconfig dependency on GPIOLIB Greg Kroah-Hartman
2021-05-10 10:19 ` [PATCH 5.12 169/384] media: drivers/media/usb: fix memory leak in zr364xx_probe Greg Kroah-Hartman
2021-05-10 10:19 ` [PATCH 5.12 170/384] media: cx23885: add more quirks for reset DMA on some AMD IOMMU Greg Kroah-Hartman
2021-05-10 10:19 ` [PATCH 5.12 171/384] media: imx: capture: Return -EPIPE from __capture_legacy_try_fmt() Greg Kroah-Hartman
2021-05-10 10:19 ` [PATCH 5.12 172/384] atomisp: dont let it go past pipes array Greg Kroah-Hartman
2021-05-10 10:19 ` [PATCH 5.12 173/384] power: supply: bq27xxx: fix power_avg for newer ICs Greg Kroah-Hartman
2021-05-10 10:19 ` [PATCH 5.12 174/384] extcon: arizona: Fix some issues when HPDET IRQ fires after the jack has been unplugged Greg Kroah-Hartman
2021-05-10 10:19 ` [PATCH 5.12 175/384] extcon: arizona: Fix various races on driver unbind Greg Kroah-Hartman
2021-05-10 10:19 ` [PATCH 5.12 176/384] media: venus: core, venc, vdec: Fix probe dependency error Greg Kroah-Hartman
2021-05-10 10:19 ` Greg Kroah-Hartman [this message]
2021-05-10 10:19 ` [PATCH 5.12 178/384] media: media/saa7164: fix saa7164_encoder_register() memory leak bugs Greg Kroah-Hartman
2021-05-10 10:19 ` [PATCH 5.12 179/384] media: gspca/sq905.c: fix uninitialized variable Greg Kroah-Hartman
2021-05-10 10:19 ` [PATCH 5.12 180/384] media: v4l2-ctrls.c: initialize flags field of p_fwht_params Greg Kroah-Hartman
2021-05-10 10:19 ` [PATCH 5.12 181/384] power: supply: Use IRQF_ONESHOT Greg Kroah-Hartman
2021-05-10 10:19 ` [PATCH 5.12 182/384] backlight: qcom-wled: Use sink_addr for sync toggle Greg Kroah-Hartman
2021-05-10 10:19 ` [PATCH 5.12 183/384] backlight: qcom-wled: Fix FSC update issue for WLED5 Greg Kroah-Hartman
2021-05-10 10:19 ` [PATCH 5.12 184/384] drm/amdgpu: enable retry fault wptr overflow Greg Kroah-Hartman
2021-05-10 10:19 ` [PATCH 5.12 185/384] drm/amdgpu: enable 48-bit IH timestamp counter Greg Kroah-Hartman
2021-05-10 10:19 ` [PATCH 5.12 186/384] drm/amdgpu: mask the xgmi number of hops reported from psp to kfd Greg Kroah-Hartman
2021-05-10 10:19 ` [PATCH 5.12 187/384] drm/amdkfd: Fix UBSAN shift-out-of-bounds warning Greg Kroah-Hartman
2021-05-10 10:19 ` [PATCH 5.12 188/384] drm/amd/display: Align cursor cache address to 2KB Greg Kroah-Hartman
2021-05-10 10:19 ` [PATCH 5.12 189/384] drm/amdgpu : Fix asic reset regression issue introduce by 8f211fe8ac7c4f Greg Kroah-Hartman
2021-05-10 10:19 ` [PATCH 5.12 190/384] drm/amd/pm: fix workload mismatch on vega10 Greg Kroah-Hartman
2021-05-10 10:19 ` [PATCH 5.12 191/384] drm/amd/display: Fix UBSAN warning for not a valid value for type _Bool Greg Kroah-Hartman
2021-05-10 10:19 ` [PATCH 5.12 192/384] drm/amd/display: DCHUB underflow counter increasing in some scenarios Greg Kroah-Hartman
2021-05-10 10:19 ` [PATCH 5.12 193/384] drm/amd/display: fix dml prefetch validation Greg Kroah-Hartman
2021-05-10 10:19 ` [PATCH 5.12 194/384] drm/amd/display: Fix potential memory leak Greg Kroah-Hartman
2021-05-10 10:19 ` [PATCH 5.12 195/384] drm/amdgpu: Fix " Greg Kroah-Hartman
2021-05-10 18:20   ` Holger Kiehl
2021-05-10 19:56     ` Deucher, Alexander
2021-05-11 11:55       ` Greg Kroah-Hartman
2021-05-10 10:19 ` [PATCH 5.12 196/384] scsi: qla2xxx: Always check the return value of qla24xx_get_isp_stats() Greg Kroah-Hartman
2021-05-10 10:19 ` [PATCH 5.12 197/384] drm/vkms: fix misuse of WARN_ON Greg Kroah-Hartman
2021-05-10 10:19   ` Greg Kroah-Hartman
2021-05-10 10:19 ` [PATCH 5.12 198/384] block, bfq: fix weight-raising resume with !low_latency Greg Kroah-Hartman
2021-05-10 10:19 ` [PATCH 5.12 199/384] scsi: qla2xxx: Fix use after free in bsg Greg Kroah-Hartman
2021-05-10 10:19 ` [PATCH 5.12 200/384] mmc: sdhci-esdhc-imx: validate pinctrl before use it Greg Kroah-Hartman
2021-05-10 10:19 ` [PATCH 5.12 201/384] mmc: sdhci-pci: Add PCI IDs for Intel LKF Greg Kroah-Hartman
2021-05-10 10:19 ` [PATCH 5.12 202/384] mmc: sdhci-brcmstb: Remove CQE quirk Greg Kroah-Hartman
2021-05-10 10:19 ` [PATCH 5.12 203/384] ata: ahci: Disable SXS for Hisilicon Kunpeng920 Greg Kroah-Hartman
2021-05-10 10:19 ` [PATCH 5.12 204/384] drm/komeda: Fix bit check to import to value of proper type Greg Kroah-Hartman
2021-05-10 10:19 ` [PATCH 5.12 205/384] nvmet: return proper error code from discovery ctrl Greg Kroah-Hartman
2021-05-10 10:19 ` [PATCH 5.12 206/384] selftests/resctrl: Enable gcc checks to detect buffer overflows Greg Kroah-Hartman
2021-05-10 10:19 ` [PATCH 5.12 207/384] selftests/resctrl: Fix compilation issues for global variables Greg Kroah-Hartman
2021-05-10 10:19 ` [PATCH 5.12 208/384] selftests/resctrl: Fix compilation issues for other " Greg Kroah-Hartman
2021-05-10 10:19 ` [PATCH 5.12 209/384] selftests/resctrl: Clean up resctrl features check Greg Kroah-Hartman
2021-05-10 10:19 ` [PATCH 5.12 210/384] selftests/resctrl: Fix missing options "-n" and "-p" Greg Kroah-Hartman
2021-05-10 10:20 ` [PATCH 5.12 211/384] selftests/resctrl: Use resctrl/info for feature detection Greg Kroah-Hartman
2021-05-10 10:20 ` [PATCH 5.12 212/384] selftests/resctrl: Fix incorrect parsing of iMC counters Greg Kroah-Hartman
2021-05-10 10:20 ` [PATCH 5.12 213/384] selftests/resctrl: Fix checking for < 0 for unsigned values Greg Kroah-Hartman
2021-05-10 10:20 ` [PATCH 5.12 214/384] power: supply: cpcap-charger: fix small mistake in current to register conversion Greg Kroah-Hartman
2021-05-10 10:20 ` [PATCH 5.12 215/384] power: supply: cpcap-charger: Add usleep to cpcap charger to avoid usb plug bounce Greg Kroah-Hartman
2021-05-10 10:20 ` [PATCH 5.12 216/384] scsi: smartpqi: Use host-wide tag space Greg Kroah-Hartman
2021-05-10 10:20 ` [PATCH 5.12 217/384] scsi: smartpqi: Correct request leakage during reset operations Greg Kroah-Hartman
2021-05-10 10:20 ` [PATCH 5.12 218/384] scsi: smartpqi: Add new PCI IDs Greg Kroah-Hartman
2021-05-10 10:20 ` [PATCH 5.12 219/384] scsi: scsi_dh_alua: Remove check for ASC 24h in alua_rtpg() Greg Kroah-Hartman
2021-05-10 10:20 ` [PATCH 5.12 220/384] media: em28xx: fix memory leak Greg Kroah-Hartman
2021-05-10 10:20 ` [PATCH 5.12 221/384] media: vivid: update EDID Greg Kroah-Hartman
2021-05-10 10:20 ` [PATCH 5.12 222/384] media: uvcvideo: Fix XU id print in forward scan Greg Kroah-Hartman
2021-05-10 10:20 ` [PATCH 5.12 223/384] media: uvcvideo: Support devices that report an OT as an entity source Greg Kroah-Hartman
2021-05-10 10:20 ` [PATCH 5.12 224/384] drm/msm/a6xx: Fix perfcounter oob timeout Greg Kroah-Hartman
2021-05-10 10:20 ` [PATCH 5.12 225/384] drm/msm/dp: Fix incorrect NULL check kbot warnings in DP driver Greg Kroah-Hartman
2021-05-10 10:20 ` [PATCH 5.12 226/384] clk: socfpga: arria10: Fix memory leak of socfpga_clk on error return Greg Kroah-Hartman
2021-05-10 10:20 ` [PATCH 5.12 227/384] power: supply: generic-adc-battery: fix possible use-after-free in gab_remove() Greg Kroah-Hartman
2021-05-10 10:20 ` [PATCH 5.12 228/384] power: supply: s3c_adc_battery: fix possible use-after-free in s3c_adc_bat_remove() Greg Kroah-Hartman
2021-05-10 10:20 ` [PATCH 5.12 229/384] media: tc358743: fix possible use-after-free in tc358743_remove() Greg Kroah-Hartman
2021-05-10 10:20 ` [PATCH 5.12 230/384] media: adv7604: fix possible use-after-free in adv76xx_remove() Greg Kroah-Hartman
2021-05-10 10:20 ` [PATCH 5.12 231/384] media: i2c: adv7511-v4l2: fix possible use-after-free in adv7511_remove() Greg Kroah-Hartman
2021-05-10 10:20 ` [PATCH 5.12 232/384] media: i2c: tda1997: Fix possible use-after-free in tda1997x_remove() Greg Kroah-Hartman
2021-05-10 10:20 ` [PATCH 5.12 233/384] media: i2c: adv7842: fix possible use-after-free in adv7842_remove() Greg Kroah-Hartman
2021-05-10 10:20 ` [PATCH 5.12 234/384] media: platform: sti: Fix runtime PM imbalance in regs_show Greg Kroah-Hartman
2021-05-10 10:20 ` [PATCH 5.12 235/384] media: sun8i-di: Fix runtime PM imbalance in deinterlace_start_streaming Greg Kroah-Hartman
2021-05-10 10:20 ` [PATCH 5.12 236/384] media: dvb-usb: fix memory leak in dvb_usb_adapter_init Greg Kroah-Hartman
2021-05-10 10:20 ` [PATCH 5.12 237/384] media: gscpa/stv06xx: fix memory leak Greg Kroah-Hartman
2021-05-10 10:20 ` [PATCH 5.12 238/384] sched/fair: Bring back select_idle_smt(), but differently Greg Kroah-Hartman
2021-05-10 10:20 ` [PATCH 5.12 239/384] sched/fair: Ignore percpu threads for imbalance pulls Greg Kroah-Hartman
2021-05-10 10:20 ` [PATCH 5.12 240/384] drm/msm/mdp5: Configure PP_SYNC_HEIGHT to double the vtotal Greg Kroah-Hartman
2021-05-10 10:20 ` [PATCH 5.12 241/384] drm/msm/mdp5: Do not multiply vclk line count by 100 Greg Kroah-Hartman
2021-05-10 10:20 ` [PATCH 5.12 242/384] drm/amdgpu/ttm: Fix memory leak userptr pages Greg Kroah-Hartman
2021-05-10 10:20 ` [PATCH 5.12 243/384] drm/radeon/ttm: " Greg Kroah-Hartman
2021-05-10 10:20 ` [PATCH 5.12 244/384] drm/amd/display: Fix debugfs link_settings entry Greg Kroah-Hartman
2021-05-10 10:20 ` [PATCH 5.12 245/384] drm/amd/display: Fix UBSAN: shift-out-of-bounds warning Greg Kroah-Hartman
2021-05-10 10:20 ` [PATCH 5.12 246/384] drm/radeon: dont evict if not initialized Greg Kroah-Hartman
2021-05-10 10:20 ` [PATCH 5.12 247/384] drm/amdkfd: Fix cat debugfs hang_hws file causes system crash bug Greg Kroah-Hartman
2021-05-10 10:20 ` [PATCH 5.12 248/384] amdgpu: avoid incorrect %hu format string Greg Kroah-Hartman
2021-05-10 10:20 ` [PATCH 5.12 249/384] drm/amdgpu/display: fix memory leak for dimgrey cavefish Greg Kroah-Hartman
2021-05-10 10:20 ` [PATCH 5.12 250/384] drm/amd/display: Try YCbCr420 color when YCbCr444 fails Greg Kroah-Hartman
2021-05-10 10:20 ` [PATCH 5.12 251/384] drm/amdgpu: fix NULL pointer dereference Greg Kroah-Hartman
2021-05-10 10:20 ` [PATCH 5.12 252/384] drm/amd/display: Update DCN302 SR Exit Latency Greg Kroah-Hartman
2021-05-10 10:20 ` [PATCH 5.12 253/384] scsi: mpt3sas: Fix out-of-bounds warnings in _ctl_addnl_diag_query Greg Kroah-Hartman
2021-05-10 10:20 ` [PATCH 5.12 254/384] scsi: lpfc: Fix crash when a REG_RPI mailbox fails triggering a LOGO response Greg Kroah-Hartman
2021-05-10 10:20 ` [PATCH 5.12 255/384] scsi: lpfc: Fix reference counting errors in lpfc_cmpl_els_rsp() Greg Kroah-Hartman
2021-05-10 10:20 ` [PATCH 5.12 256/384] scsi: lpfc: Fix error handling for mailboxes completed in MBX_POLL mode Greg Kroah-Hartman
2021-05-10 10:20 ` [PATCH 5.12 257/384] scsi: lpfc: Remove unsupported mbox PORT_CAPABILITIES logic Greg Kroah-Hartman
2021-05-10 10:20 ` [PATCH 5.12 258/384] mfd: intel-m10-bmc: Fix the register access range Greg Kroah-Hartman
2021-05-10 10:20 ` [PATCH 5.12 259/384] mfd: da9063: Support SMBus and I2C mode Greg Kroah-Hartman
2021-05-10 10:20 ` [PATCH 5.12 260/384] mfd: arizona: Fix rumtime PM imbalance on error Greg Kroah-Hartman
2021-05-10 10:20 ` [PATCH 5.12 261/384] scsi: libfc: Fix a format specifier Greg Kroah-Hartman
2021-05-10 10:20 ` [PATCH 5.12 262/384] perf: Rework perf_event_exit_event() Greg Kroah-Hartman
2021-05-10 10:20 ` [PATCH 5.12 263/384] sched,fair: Alternative sched_slice() Greg Kroah-Hartman
2021-05-10 10:20 ` [PATCH 5.12 264/384] block/rnbd-srv: Prevent a deadlock generated by accessing sysfs in parallel Greg Kroah-Hartman
2021-05-10 10:20 ` [PATCH 5.12 265/384] block/rnbd-clt: Fix missing a memory free when unloading the module Greg Kroah-Hartman
2021-05-10 10:20 ` [PATCH 5.12 266/384] io_uring: safer sq_creds putting Greg Kroah-Hartman
2021-05-10 10:20 ` [PATCH 5.12 267/384] s390/archrandom: add parameter check for s390_arch_random_generate Greg Kroah-Hartman
2021-05-10 10:20 ` [PATCH 5.12 268/384] sched,psi: Handle potential task count underflow bugs more gracefully Greg Kroah-Hartman
2021-05-10 10:20 ` [PATCH 5.12 269/384] nvmet: avoid queuing keep-alive timer if it is disabled Greg Kroah-Hartman
2021-05-10 10:20 ` [PATCH 5.12 270/384] power: supply: cpcap-battery: fix invalid usage of list cursor Greg Kroah-Hartman
2021-05-10 10:21 ` [PATCH 5.12 271/384] ALSA: emu8000: Fix a use after free in snd_emu8000_create_mixer Greg Kroah-Hartman
2021-05-10 10:21 ` [PATCH 5.12 272/384] ALSA: hda/conexant: Re-order CX5066 quirk table entries Greg Kroah-Hartman
2021-05-10 10:21 ` [PATCH 5.12 273/384] ALSA: sb: Fix two use after free in snd_sb_qsound_build Greg Kroah-Hartman
2021-05-10 10:21 ` [PATCH 5.12 274/384] ALSA: usb-audio: Explicitly set up the clock selector Greg Kroah-Hartman
2021-05-10 10:21 ` [PATCH 5.12 275/384] ALSA: usb-audio: Add dB range mapping for Sennheiser Communications Headset PC 8 Greg Kroah-Hartman
2021-05-10 10:21 ` [PATCH 5.12 276/384] ALSA: hda/realtek: fix mute/micmute LEDs for HP ProBook 445 G7 Greg Kroah-Hartman
2021-05-10 10:21 ` [PATCH 5.12 277/384] ALSA: hda/realtek: GA503 use same quirks as GA401 Greg Kroah-Hartman
2021-05-10 10:21 ` [PATCH 5.12 278/384] ALSA: hda/realtek: fix mic boost on Intel NUC 8 Greg Kroah-Hartman
2021-05-10 10:21 ` [PATCH 5.12 279/384] ALSA: hda/realtek - Headset Mic issue on HP platform Greg Kroah-Hartman
2021-05-10 10:21 ` [PATCH 5.12 280/384] ALSA: hda/realtek: fix static noise on ALC285 Lenovo laptops Greg Kroah-Hartman
2021-05-10 10:21 ` [PATCH 5.12 281/384] ALSA: hda/realtek: Add quirk for Intel Clevo PCx0Dx Greg Kroah-Hartman
2021-05-10 10:21 ` [PATCH 5.12 282/384] tools/power/turbostat: Fix turbostat for AMD Zen CPUs Greg Kroah-Hartman
2021-05-10 10:21 ` [PATCH 5.12 283/384] btrfs: fix race when picking most recent mod log operation for an old root Greg Kroah-Hartman
2021-05-10 10:21 ` [PATCH 5.12 284/384] btrfs: fix a potential hole punching failure Greg Kroah-Hartman
2021-05-10 10:21 ` [PATCH 5.12 285/384] arm64/vdso: Discard .note.gnu.property sections in vDSO Greg Kroah-Hartman
2021-05-10 10:21 ` [PATCH 5.12 286/384] Makefile: Move -Wno-unused-but-set-variable out of GCC only block Greg Kroah-Hartman
2021-05-10 10:21 ` [PATCH 5.12 287/384] riscv/kprobe: fix kernel panic when invoking sys_read traced by kprobe Greg Kroah-Hartman
2021-05-10 10:21 ` [PATCH 5.12 288/384] fs: fix reporting supported extra file attributes for statx() Greg Kroah-Hartman
2021-05-10 10:21 ` [PATCH 5.12 289/384] virtiofs: fix memory leak in virtio_fs_probe() Greg Kroah-Hartman
2021-05-10 10:21 ` [PATCH 5.12 290/384] kcsan, debugfs: Move debugfs file creation out of early init Greg Kroah-Hartman
2021-05-10 10:21 ` [PATCH 5.12 291/384] ubifs: Only check replay with inode type to judge if inode linked Greg Kroah-Hartman
2021-05-10 10:21 ` [PATCH 5.12 292/384] f2fs: fix error handling in f2fs_end_enable_verity() Greg Kroah-Hartman
2021-05-10 10:21 ` [PATCH 5.12 293/384] f2fs: fix to avoid out-of-bounds memory access Greg Kroah-Hartman
2021-05-10 10:21 ` [PATCH 5.12 294/384] mlxsw: spectrum_mr: Update egress RIF list before routes action Greg Kroah-Hartman
2021-05-10 10:21 ` [PATCH 5.12 295/384] openvswitch: fix stack OOB read while fragmenting IPv4 packets Greg Kroah-Hartman
2021-05-10 10:21 ` [PATCH 5.12 296/384] net/sched: sch_frag: " Greg Kroah-Hartman
2021-05-10 10:21 ` [PATCH 5.12 297/384] ACPI: GTDT: Dont corrupt interrupt mappings on watchdow probe failure Greg Kroah-Hartman
2021-05-10 10:21 ` [PATCH 5.12 298/384] NFS: fs_context: validate UDP retrans to prevent shift out-of-bounds Greg Kroah-Hartman
2021-05-10 10:21 ` [PATCH 5.12 299/384] NFS: Dont discard pNFS layout segments that are marked for return Greg Kroah-Hartman
2021-05-10 10:21 ` [PATCH 5.12 300/384] NFSv4: Dont discard segments marked for return in _pnfs_return_layout() Greg Kroah-Hartman
2021-05-10 10:21 ` [PATCH 5.12 301/384] Input: ili210x - add missing negation for touch indication on ili210x Greg Kroah-Hartman
2021-05-10 10:21 ` [PATCH 5.12 302/384] jffs2: Fix kasan slab-out-of-bounds problem Greg Kroah-Hartman
2021-05-10 10:21 ` [PATCH 5.12 303/384] jffs2: Hook up splice_write callback Greg Kroah-Hartman
2021-05-10 10:21 ` [PATCH 5.12 304/384] iommu/vt-d: Force to flush iotlb before creating superpage Greg Kroah-Hartman
2021-05-10 10:21 ` [PATCH 5.12 305/384] powerpc/vdso: Separate vvar vma from vdso Greg Kroah-Hartman
2021-05-10 10:21 ` [PATCH 5.12 306/384] powerpc/powernv: Enable HAIL (HV AIL) for ISA v3.1 processors Greg Kroah-Hartman
2021-05-10 10:21 ` [PATCH 5.12 307/384] powerpc/eeh: Fix EEH handling for hugepages in ioremap space Greg Kroah-Hartman
2021-05-10 10:21 ` [PATCH 5.12 308/384] powerpc/kexec_file: Use current CPU info while setting up FDT Greg Kroah-Hartman
2021-05-10 10:21 ` [PATCH 5.12 309/384] powerpc/32: Fix boot failure with CONFIG_STACKPROTECTOR Greg Kroah-Hartman
2021-05-10 10:21 ` [PATCH 5.12 310/384] powerpc: fix EDEADLOCK redefinition error in uapi/asm/errno.h Greg Kroah-Hartman
2021-05-10 10:21 ` [PATCH 5.12 311/384] powerpc/kvm: Fix PR KVM with KUAP/MEM_KEYS enabled Greg Kroah-Hartman
2021-05-10 10:21 ` [PATCH 5.12 312/384] powerpc/kvm: Fix build error when PPC_MEM_KEYS/PPC_PSERIES=n Greg Kroah-Hartman
2021-05-10 10:21 ` [PATCH 5.12 313/384] intel_th: pci: Add Alder Lake-M support Greg Kroah-Hartman
2021-05-10 10:21 ` [PATCH 5.12 314/384] tpm: efi: Use local variable for calculating final log size Greg Kroah-Hartman
2021-05-10 10:21 ` [PATCH 5.12 315/384] tpm: vtpm_proxy: Avoid reading host log when using a virtual device Greg Kroah-Hartman
2021-05-10 10:21 ` [PATCH 5.12 316/384] crypto: arm/curve25519 - Move .fpu after .arch Greg Kroah-Hartman
2021-05-10 10:21 ` [PATCH 5.12 317/384] crypto: rng - fix crypto_rng_reset() refcounting when !CRYPTO_STATS Greg Kroah-Hartman
2021-05-10 10:21 ` [PATCH 5.12 318/384] md/raid1: properly indicate failure when ending a failed write request Greg Kroah-Hartman
2021-05-10 10:21 ` [PATCH 5.12 319/384] dm raid: fix inconclusive reshape layout on fast raid4/5/6 table reload sequences Greg Kroah-Hartman
2021-05-10 10:21 ` [PATCH 5.12 320/384] fuse: fix write deadlock Greg Kroah-Hartman
2021-05-10 10:21 ` [PATCH 5.12 321/384] mm: page_alloc: ignore init_on_free=1 for debug_pagealloc=1 Greg Kroah-Hartman
2021-05-10 10:21 ` [PATCH 5.12 322/384] exfat: fix erroneous discard when clear cluster bit Greg Kroah-Hartman
2021-05-10 10:21 ` [PATCH 5.12 323/384] sfc: farch: fix TX queue lookup in TX flush done handling Greg Kroah-Hartman
2021-05-10 10:21 ` [PATCH 5.12 324/384] sfc: farch: fix TX queue lookup in TX event handling Greg Kroah-Hartman
2021-05-10 10:21 ` [PATCH 5.12 325/384] sfc: adjust efx->xdp_tx_queue_count with the real number of initialized queues Greg Kroah-Hartman
2021-05-10 10:21 ` [PATCH 5.12 326/384] rcu/nocb: Fix missed nocb_timer requeue Greg Kroah-Hartman
2021-05-10 10:21 ` [PATCH 5.12 327/384] security: commoncap: fix -Wstringop-overread warning Greg Kroah-Hartman
2021-05-10 10:21 ` [PATCH 5.12 328/384] Fix misc new gcc warnings Greg Kroah-Hartman
2021-05-10 10:21 ` [PATCH 5.12 329/384] smb3: when mounting with multichannel include it in requested capabilities Greg Kroah-Hartman
2021-05-10 10:21 ` [PATCH 5.12 330/384] smb3: if max_channels set to more than one channel request multichannel Greg Kroah-Hartman
2021-05-10 10:22 ` [PATCH 5.12 331/384] smb3: do not attempt multichannel to server which does not support it Greg Kroah-Hartman
2021-05-10 10:22 ` [PATCH 5.12 332/384] Revert 337f13046ff0 ("futex: Allow FUTEX_CLOCK_REALTIME with FUTEX_WAIT op") Greg Kroah-Hartman
2021-05-10 10:22 ` [PATCH 5.12 333/384] futex: Do not apply time namespace adjustment on FUTEX_LOCK_PI Greg Kroah-Hartman
2021-05-10 10:22 ` [PATCH 5.12 334/384] x86/cpu: Initialize MSR_TSC_AUX if RDTSCP *or* RDPID is supported Greg Kroah-Hartman
2021-05-10 10:22 ` [PATCH 5.12 335/384] kbuild: update config_data.gz only when the content of .config is changed Greg Kroah-Hartman
2021-05-10 10:22 ` [PATCH 5.12 336/384] ext4: annotate data race in start_this_handle() Greg Kroah-Hartman
2021-05-10 10:22 ` [PATCH 5.12 337/384] ext4: annotate data race in jbd2_journal_dirty_metadata() Greg Kroah-Hartman
2021-05-10 10:22 ` [PATCH 5.12 338/384] ext4: fix check to prevent false positive report of incorrect used inodes Greg Kroah-Hartman
2021-05-10 10:22 ` [PATCH 5.12 339/384] ext4: do not set SB_ACTIVE in ext4_orphan_cleanup() Greg Kroah-Hartman
2021-05-10 10:22 ` [PATCH 5.12 340/384] ext4: always panic when errors=panic is specified Greg Kroah-Hartman
2021-05-10 10:22 ` [PATCH 5.12 341/384] ext4: fix error code in ext4_commit_super Greg Kroah-Hartman
2021-05-10 10:22 ` [PATCH 5.12 342/384] ext4: fix ext4_error_err save negative errno into superblock Greg Kroah-Hartman
2021-05-10 10:22 ` [PATCH 5.12 343/384] ext4: fix error return code in ext4_fc_perform_commit() Greg Kroah-Hartman
2021-05-10 10:22 ` [PATCH 5.12 344/384] ext4: allow the dax flag to be set and cleared on inline directories Greg Kroah-Hartman
2021-05-10 10:22 ` [PATCH 5.12 345/384] ext4: Fix occasional generic/418 failure Greg Kroah-Hartman
2021-05-10 10:22 ` [PATCH 5.12 346/384] media: dvbdev: Fix memory leak in dvb_media_device_free() Greg Kroah-Hartman
2021-05-10 10:22 ` [PATCH 5.12 347/384] media: dvb-usb: Fix use-after-free access Greg Kroah-Hartman
2021-05-10 10:22 ` [PATCH 5.12 348/384] media: dvb-usb: Fix memory leak at error in dvb_usb_device_init() Greg Kroah-Hartman
2021-05-10 10:22 ` [PATCH 5.12 349/384] media: staging/intel-ipu3: Fix memory leak in imu_fmt Greg Kroah-Hartman
2021-05-10 10:22 ` [PATCH 5.12 350/384] media: staging/intel-ipu3: Fix set_fmt error handling Greg Kroah-Hartman
2021-05-10 10:22 ` [PATCH 5.12 351/384] media: staging/intel-ipu3: Fix race condition during set_fmt Greg Kroah-Hartman
2021-05-10 10:22 ` [PATCH 5.12 352/384] media: v4l2-ctrls: fix reference to freed memory Greg Kroah-Hartman
2021-05-10 10:22 ` [PATCH 5.12 353/384] media: coda: fix macroblocks count control usage Greg Kroah-Hartman
2021-05-10 10:22 ` [PATCH 5.12 354/384] media: venus: pm_helpers: Set opp clock name for v1 Greg Kroah-Hartman
2021-05-10 10:22 ` [PATCH 5.12 355/384] media: venus: venc_ctrls: Change default header mode Greg Kroah-Hartman
2021-05-10 10:22 ` [PATCH 5.12 356/384] media: venus: hfi_cmds: Support plane-actual-info property from v1 Greg Kroah-Hartman
2021-05-10 10:22 ` [PATCH 5.12 357/384] media: venus: hfi_parser: Dont initialize parser on v1 Greg Kroah-Hartman
2021-05-10 10:22 ` [PATCH 5.12 358/384] media: venus: hfi_parser: Check for instance after hfi platform get Greg Kroah-Hartman
2021-05-10 10:22 ` [PATCH 5.12 359/384] io_uring: remove extra sqpoll submission halting Greg Kroah-Hartman
2021-05-10 10:22 ` [PATCH 5.12 360/384] io_uring: fix shared sqpoll cancellation hangs Greg Kroah-Hartman
2021-05-10 10:22 ` [PATCH 5.12 361/384] io_uring: fix work_exit sqpoll cancellations Greg Kroah-Hartman
2021-05-10 10:22 ` [PATCH 5.12 362/384] io_uring: Check current->io_uring in io_uring_cancel_sqpoll Greg Kroah-Hartman
2021-05-10 10:22 ` [PATCH 5.12 363/384] usb: gadget: dummy_hcd: fix gpf in gadget_setup Greg Kroah-Hartman
2021-05-10 10:22 ` [PATCH 5.12 364/384] usb: gadget: Fix double free of device descriptor pointers Greg Kroah-Hartman
2021-05-10 10:22 ` [PATCH 5.12 365/384] usb: gadget/function/f_fs string table fix for multiple languages Greg Kroah-Hartman
2021-05-10 10:22 ` [PATCH 5.12 366/384] usb: dwc3: gadget: Remove FS bInterval_m1 limitation Greg Kroah-Hartman
2021-05-10 10:22 ` [PATCH 5.12 367/384] usb: dwc3: gadget: Fix START_TRANSFER link state check Greg Kroah-Hartman
2021-05-10 10:22 ` [PATCH 5.12 368/384] usb: dwc3: core: Do core softreset when switch mode Greg Kroah-Hartman
2021-05-10 10:22 ` [PATCH 5.12 369/384] usb: dwc2: Fix session request interrupt handler Greg Kroah-Hartman
2021-05-10 10:22 ` [PATCH 5.12 370/384] PCI: dwc: Move iATU detection earlier Greg Kroah-Hartman
2021-05-10 10:22 ` [PATCH 5.12 371/384] tty: fix memory leak in vc_deallocate Greg Kroah-Hartman
2021-05-10 10:22 ` [PATCH 5.12 372/384] rsi: Use resume_noirq for SDIO Greg Kroah-Hartman
2021-05-10 10:22 ` [PATCH 5.12 373/384] tools/power turbostat: Fix offset overflow issue in index converting Greg Kroah-Hartman
2021-05-10 10:22 ` [PATCH 5.12 374/384] tracing: Map all PIDs to command lines Greg Kroah-Hartman
2021-05-10 10:22 ` [PATCH 5.12 375/384] tracing: Restructure trace_clock_global() to never block Greg Kroah-Hartman
2021-05-10 10:22 ` [PATCH 5.12 376/384] dm persistent data: packed struct should have an aligned() attribute too Greg Kroah-Hartman
2021-05-10 10:22 ` [PATCH 5.12 377/384] dm space map common: fix division bug in sm_ll_find_free_block() Greg Kroah-Hartman
2021-05-10 10:22 ` [PATCH 5.12 378/384] dm integrity: fix missing goto in bitmap_flush_interval error handling Greg Kroah-Hartman
2021-05-10 10:22 ` [PATCH 5.12 379/384] dm rq: fix double free of blk_mq_tag_set in dev remove after table load fails Greg Kroah-Hartman
2021-05-10 10:22 ` [PATCH 5.12 380/384] pinctrl: Ingenic: Add missing pins to the JZ4770 MAC MII group Greg Kroah-Hartman
2021-05-10 10:22 ` [PATCH 5.12 381/384] pinctrl: Ingenic: Add support for read the pin configuration of X1830 Greg Kroah-Hartman
2021-05-10 10:22 ` [PATCH 5.12 382/384] lib/vsprintf.c: remove leftover f and F cases from bstr_printf() Greg Kroah-Hartman
2021-05-10 10:22 ` [PATCH 5.12 383/384] thermal/drivers/cpufreq_cooling: Fix slab OOB issue Greg Kroah-Hartman
2021-05-10 10:22 ` [PATCH 5.12 384/384] thermal/core/fair share: Lock the thermal zone while looping over instances Greg Kroah-Hartman
2021-05-10 12:42 ` [PATCH 5.12 000/384] 5.12.3-rc1 review Jon Hunter
2021-05-10 14:50 ` Florian Fainelli
2021-05-10 18:19 ` Naresh Kamboju
2021-05-10 19:29 ` Fox Chen
2021-05-10 22:16 ` Guenter Roeck
2021-05-10 22:52 ` Shuah Khan
2021-05-11 19:51   ` Shuah Khan
2021-05-11 21:07 ` Justin Forbes

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=20210510102020.722107029@linuxfoundation.org \
    --to=gregkh@linuxfoundation.org \
    --cc=bblock@linux.ibm.com \
    --cc=hca@linux.ibm.com \
    --cc=jwi@linux.ibm.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=sashal@kernel.org \
    --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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.