Re: [PATCH] usb: gadget: rndis: don't use dev_get_stats()

From: MichaÅ Nazarewicz
Date: Mon Sep 20 2010 - 14:56:23 EST


From: Michal Nazarewicz <m.nazarewicz@xxxxxxxxxxx>
This commit removes the call to dev_get_stats() from the
gen_ndis_query_resp() function. Since spin_lock_bh() was
added to dev_txq_stats_fold() the call started causing
warnings. This is because gen_ndis_query_resp() can be
(indirectly) called from rndis_command_complete() which is
called with interrupts disabled.

On Mon, 20 Sep 2010 20:27:27 +0200, David Miller <davem@xxxxxxxxxxxxx> wrote:
The way this works is dev_get_stats() takes that "temp" object the
caller provides, it writes the correct statistics into it (with any
necessary translations), and then passes back a pointer to it.

See net/core/dev.c:dev_get_stats()

You must use dev_get_stats() or else the statistics won't be properly
converted.

I'm only wondering whether it's required for RNDIS to use dev_get_stats().
I haven't found reference to netdev_queue in g_ether related code and
I noticed that u_ether.c seems to update dev->stats directly.

--
Best regards, _ _
| Humble Liege of Serenely Enlightened Majesty of o' \,=./ `o
| Computer Science, MichaÅ "mina86" Nazarewicz (o o)
+----[mina86*mina86.com]---[mina86*jabber.org]----ooO--(_)--Ooo--
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/