diff mbox series

can: pch_can: move setting of errc to before use

Message ID 20220721161526.930416-1-trix@redhat.com (mailing list archive)
State Awaiting Upstream
Delegated to: Netdev Maintainers
Headers show
Series can: pch_can: move setting of errc to before use | expand

Checks

Context Check Description
netdev/tree_selection success Series ignored based on subject

Commit Message

Tom Rix July 21, 2022, 4:15 p.m. UTC
clang build fails with
drivers/net/can/pch_can.c:501:17: error: variable 'errc' is uninitialized when used here [-Werror,-Wuninitialized]
                cf->data[6] = errc & PCH_TEC;

The commit in the fixes moved the use without moving the setting. So move
the setting of errc to before the use.

Fixes: 3a5c7e4611dd ("can: pch_can: do not report txerr and rxerr during bus-off")
Signed-off-by: Tom Rix <trix@redhat.com>
---
 drivers/net/can/pch_can.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Vincent Mailhol July 21, 2022, 4:21 p.m. UTC | #1
On Fri. 22 juil. 2022 à 01:18, Tom Rix <trix@redhat.com> wrote:
> clang build fails with
> drivers/net/can/pch_can.c:501:17: error: variable 'errc' is uninitialized when used here [-Werror,-Wuninitialized]
>                 cf->data[6] = errc & PCH_TEC;
>
> The commit in the fixes moved the use without moving the setting. So move
> the setting of errc to before the use.
>
> Fixes: 3a5c7e4611dd ("can: pch_can: do not report txerr and rxerr during bus-off")
> Signed-off-by: Tom Rix <trix@redhat.com>

Sorry, you are a couple minutes late. You are actually the third to
submit the same patch:
https://lore.kernel.org/linux-can/20220721155228.3399103-1-mkl@pengutronix.de/
https://lore.kernel.org/linux-can/20220721160032.9348-1-mailhol.vincent@wanadoo.fr/

But thanks for this!


Yours sincerely,
Vincent Mailhol
diff mbox series

Patch

diff --git a/drivers/net/can/pch_can.c b/drivers/net/can/pch_can.c
index 50f6719b3aa4..32804fed116c 100644
--- a/drivers/net/can/pch_can.c
+++ b/drivers/net/can/pch_can.c
@@ -489,6 +489,7 @@  static void pch_can_error(struct net_device *ndev, u32 status)
 	if (!skb)
 		return;
 
+	errc = ioread32(&priv->regs->errc);
 	if (status & PCH_BUS_OFF) {
 		pch_can_set_tx_all(priv, 0);
 		pch_can_set_rx_all(priv, 0);
@@ -502,7 +503,6 @@  static void pch_can_error(struct net_device *ndev, u32 status)
 		cf->data[7] = (errc & PCH_REC) >> 8;
 	}
 
-	errc = ioread32(&priv->regs->errc);
 	/* Warning interrupt. */
 	if (status & PCH_EWARN) {
 		state = CAN_STATE_ERROR_WARNING;