Patchwork net: Fix incorrect comment in netif_tx_stop_queue()

login
register
mail settings
Submitter Ilya Shchepetkov
Date Aug. 13, 2012, 2:43 p.m.
Message ID <1344869014-7110-1-git-send-email-shchepetkov@ispras.ru>
Download mbox | patch
Permalink /patch/176959/
State Changes Requested
Delegated to: David Miller
Headers show

Comments

Ilya Shchepetkov - Aug. 13, 2012, 2:43 p.m.
netif_stop_queue() can be called before register_netdev() because now
TX queues are allocated inside alloc_netdev_mqs().

(since ed9af2e839c06c18f721da2c768fbb444c4a10e5 commit)

Found by Linux Driver Verification project (linuxtesting.org).

Signed-off-by: Ilya Shchepetkov <shchepetkov@ispras.ru>
---
 include/linux/netdevice.h |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
David Miller - Aug. 14, 2012, 9:46 p.m.
From: Ilya Shchepetkov <shchepetkov@ispras.ru>
Date: Mon, 13 Aug 2012 18:43:34 +0400

> netif_stop_queue() can be called before register_netdev() because now
> TX queues are allocated inside alloc_netdev_mqs().
> 
> (since ed9af2e839c06c18f721da2c768fbb444c4a10e5 commit)
> 
> Found by Linux Driver Verification project (linuxtesting.org).
> 
> Signed-off-by: Ilya Shchepetkov <shchepetkov@ispras.ru>

You're not changing a "comment", you're changing a kernel log message.

Have you actually triggered this condition?

I doubt it, and I'm not applying this patch.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Ilya Shchepetkov - Aug. 17, 2012, 8:01 a.m.
> > netif_stop_queue() can be called before register_netdev() because now
> > TX queues are allocated inside alloc_netdev_mqs().
> > 
> > (since ed9af2e839c06c18f721da2c768fbb444c4a10e5 commit)
> > 
> > Found by Linux Driver Verification project (linuxtesting.org).
> > 
> > Signed-off-by: Ilya Shchepetkov <shchepetkov@ispras.ru>
> 
> You're not changing a "comment", you're changing a kernel log message.
> 
> Have you actually triggered this condition?
> 
> I doubt it, and I'm not applying this patch.

My test driver calls netif_carrier_off before register_netdev and works
well,
without "netif_stop_queue() cannot be called before register_netdev()"
message.

Also, there are drivers that call netif_tx_stop_queue directly
and possible error message (with a reference to netif_stop_queue) will
be wrong.

Look at these commits:
e6484930d7c73d324bccda7d43d131088da697b9
18543a643fae694982c7d89c22436885f3506497
ed9af2e839c06c18f721da2c768fbb444c4a10e5

After the third commit, the second one became unnecessary.

Thus, I suggest either to remove the misleading message, or to replace
it with this:

pr_info("netif_tx_stop_queue(): dev_queue is null()\n");
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Patch

diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h
index a9db4f3..a94fbbd 100644
--- a/include/linux/netdevice.h
+++ b/include/linux/netdevice.h
@@ -1860,7 +1860,7 @@  static inline void netif_tx_wake_all_queues(struct net_device *dev)
 static inline void netif_tx_stop_queue(struct netdev_queue *dev_queue)
 {
 	if (WARN_ON(!dev_queue)) {
-		pr_info("netif_stop_queue() cannot be called before register_netdev()\n");
+		pr_info("dev_queue is null\n");
 		return;
 	}
 	set_bit(__QUEUE_STATE_DRV_XOFF, &dev_queue->state);