Message ID | 1344869014-7110-1-git-send-email-shchepetkov@ispras.ru |
---|---|
State | Changes Requested, archived |
Delegated to: | David Miller |
Headers | show |
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
> > 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
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);
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(-)