Re: [PATCH] staging: fix build failure in bcm driver

From: Eric Dumazet
Date: Sat Jan 15 2011 - 01:52:01 EST


Le vendredi 14 janvier 2011 Ã 17:24 -0800, Andres Salomon a Ãcrit :
> While building, I hit the following:
>
> CC [M] drivers/staging/bcm/Qos.o
> drivers/staging/bcm/Qos.c: In function âPruneQueueâ:
> drivers/staging/bcm/Qos.c:367: error: âstruct netdev_queueâ has no member named âtx_droppedâ
> drivers/staging/bcm/Qos.c: In function âflush_all_queuesâ:
> drivers/staging/bcm/Qos.c:416: error: âstruct netdev_queueâ has no member named âtx_droppedâ
> make[5]: *** [drivers/staging/bcm/Qos.o] Error 1
> make[4]: *** [drivers/staging/bcm] Error 2
> make[3]: *** [drivers/staging] Error 2
>
> As well as:
>
> CC [M] drivers/staging/bcm/Transmit.o
> drivers/staging/bcm/Transmit.c: In function âSetupNextSendâ:
> drivers/staging/bcm/Transmit.c:163: error: âstruct netdev_queueâ has no member named âtx_bytesâ
> drivers/staging/bcm/Transmit.c:164: error: âstruct netdev_queueâ has no member named âtx_packetsâ
> make[2]: *** [drivers/staging/bcm/Transmit.o] Error 1
>
>
> tx_dropped/tx_bytes_tx_packets were removed in commit 1ac9ad13. This patch
> converts bcm to use net_device_stats instead of netdev_queue.
>
> Signed-off-by: Andres Salomon <dilinger@xxxxxxxxxx>

Acked-by: Eric Dumazet <eric.dumazet@xxxxxxxxx>

BTW, chunks included in this patch have horrible codingstyle.

Is this driver planned for inclusion sometime ?

> ---



> drivers/staging/bcm/Qos.c | 7 +++----
> drivers/staging/bcm/Transmit.c | 6 +++---
> 2 files changed, 6 insertions(+), 7 deletions(-)
>
> diff --git a/drivers/staging/bcm/Qos.c b/drivers/staging/bcm/Qos.c
> index 8ce4536..feade94 100644
> --- a/drivers/staging/bcm/Qos.c
> +++ b/drivers/staging/bcm/Qos.c
> @@ -359,12 +359,11 @@ static VOID PruneQueue(PMINI_ADAPTER Adapter, INT iIndex)
>
> if(PacketToDrop)
> {
> - struct netdev_queue *txq = netdev_get_tx_queue(Adapter->dev, iIndex);
> if (netif_msg_tx_err(Adapter))
> pr_info(PFX "%s: tx queue %d overlimit\n",
> Adapter->dev->name, iIndex);
>
> - txq->tx_dropped++;
> + netstats->tx_dropped++;
>
> DEQUEUEPACKET(Adapter->PackInfo[iIndex].FirstTxQueue,
> Adapter->PackInfo[iIndex].LastTxQueue);
> @@ -404,7 +403,7 @@ VOID flush_all_queues(PMINI_ADAPTER Adapter)
> // down(&Adapter->data_packet_queue_lock);
> for(iQIndex=LowPriority; iQIndex<HiPriority; iQIndex++)
> {
> - struct netdev_queue *txq = netdev_get_tx_queue(Adapter->dev, iQIndex);
> + struct net_device_stats *netstats = &Adapter->dev->stats;
>
> spin_lock_bh(&Adapter->PackInfo[iQIndex].SFQueueLock);
> while(Adapter->PackInfo[iQIndex].FirstTxQueue)
> @@ -413,7 +412,7 @@ VOID flush_all_queues(PMINI_ADAPTER Adapter)
> if(PacketToDrop)
> {
> uiTotalPacketLength = PacketToDrop->len;
> - txq->tx_dropped++;
> + netstats->tx_dropped++;
> }
> else
> uiTotalPacketLength = 0;
> diff --git a/drivers/staging/bcm/Transmit.c b/drivers/staging/bcm/Transmit.c
> index 0f70009..d5e4a74 100644
> --- a/drivers/staging/bcm/Transmit.c
> +++ b/drivers/staging/bcm/Transmit.c
> @@ -157,11 +157,11 @@ INT SetupNextSend(PMINI_ADAPTER Adapter, struct sk_buff *Packet, USHORT Vcid)
> }
> else
> {
> - struct netdev_queue *txq = netdev_get_tx_queue(Adapter->dev, QueueIndex);
> + struct net_device_stats *netstats = &Adapter->dev->stats;
> Adapter->PackInfo[QueueIndex].uiTotalTxBytes += Leader.PLength;
>
> - txq->tx_bytes += Leader.PLength;
> - ++txq->tx_packets;
> + netstats->tx_bytes += Leader.PLength;
> + ++netstats->tx_packets;
>
> Adapter->PackInfo[QueueIndex].uiCurrentTokenCount -= Leader.PLength << 3;
> Adapter->PackInfo[QueueIndex].uiSentBytes += (Packet->len);


--
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/