Re: [PATCH] staging: qlge: fix build breakage with dumping enabled

From: Coiby Xu
Date: Tue Aug 25 2020 - 07:18:03 EST


On Fri, Aug 21, 2020 at 05:31:59PM +0900, Benjamin Poirier wrote:
On 2020-08-21 15:03 +0800, Coiby Xu wrote:
This fixes commit 0107635e15ac
("staging: qlge: replace pr_err with netdev_err") which introduced an
build breakage with dumping enabled, i.e.,

$ QL_ALL_DUMP=1 QL_OB_DUMP=1 QL_CB_DUMP=1 QL_REG_DUMP=1 \
QL_IB_DUMP=1 QL_DEV_DUMP=1 make M=drivers/staging/qlge

Fixes: 0107635e15ac ("taging: qlge: replace pr_err with netdev_err")
^ staging

Thank you for reminding me of the typo!

Reported-by: Benjamin Poirier <benjamin.poirier@xxxxxxxxx>
Signed-off-by: Coiby Xu <coiby.xu@xxxxxxxxx>
---
drivers/staging/qlge/qlge.h | 42 ++++++++++++++++----------------
drivers/staging/qlge/qlge_dbg.c | 36 +++++++++++++--------------
drivers/staging/qlge/qlge_main.c | 4 +--
3 files changed, 41 insertions(+), 41 deletions(-)

[...]
@@ -1615,7 +1615,7 @@ void ql_dump_qdev(struct ql_adapter *qdev)
#endif

#ifdef QL_CB_DUMP
-void ql_dump_wqicb(struct wqicb *wqicb)
+void ql_dump_wqicb(struct ql_adapter *qdev, struct wqicb *wqicb)
{

This can be fixed without adding another argument:

struct tx_ring *tx_ring = container_of(wqicb, struct tx_ring, wqicb);
struct ql_adapter *qdev = tx_ring->qdev;

netdev_err(qdev->ndev, "Dumping wqicb stuff...\n");
netdev_err(qdev->ndev, "wqicb->len = 0x%x\n", le16_to_cpu(wqicb->len));
@@ -1630,7 +1630,7 @@ void ql_dump_wqicb(struct wqicb *wqicb)
(unsigned long long)le64_to_cpu(wqicb->cnsmr_idx_addr));
}

-void ql_dump_tx_ring(struct tx_ring *tx_ring)
+void ql_dump_tx_ring(struct ql_adapter *qdev, struct tx_ring *tx_ring)
{

This can be fixed without adding another argument:
struct ql_adapter *qdev;

if (!tx_ring)
return;

qdev = tx_ring->qdev;

... similar comment for the other instances.

Thank you for the simpler solution!

For QL_OB_DUMP and QL_IB_DUMP, `struct ql_adapter *qdev` can't be
obtained via container_of. So qdev are still directly passed to these
functions.

--
Best regards,
Coiby