Re: [net 12/15] can: m_can: m_can_handle_state_change(): fix state change

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Marc

On 11/15/20 11:41 AM, Marc Kleine-Budde wrote:
From: Wu Bo <wubo.oduw@xxxxxxxxx>

m_can_handle_state_change() is called with the new_state as an argument.

In the switch statements for CAN_STATE_ERROR_ACTIVE, the comment and the
following code indicate that a CAN_STATE_ERROR_WARNING is handled.

This patch fixes this problem by changing the case to CAN_STATE_ERROR_WARNING.

Signed-off-by: Wu Bo <wubo.oduw@xxxxxxxxx>
Link: http://lore.kernel.org/r/20200129022330.21248-2-wubo.oduw@xxxxxxxxx
Cc: Dan Murphy <dmurphy@xxxxxx>
Fixes: e0d1f4816f2a ("can: m_can: add Bosch M_CAN controller support")
Signed-off-by: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx>
---
  drivers/net/can/m_can/m_can.c | 4 ++--
  1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/net/can/m_can/m_can.c b/drivers/net/can/m_can/m_can.c
index 02c5795b7393..63887e23d89c 100644
--- a/drivers/net/can/m_can/m_can.c
+++ b/drivers/net/can/m_can/m_can.c
@@ -665,7 +665,7 @@ static int m_can_handle_state_change(struct net_device *dev,
  	unsigned int ecr;
switch (new_state) {
-	case CAN_STATE_ERROR_ACTIVE:
+	case CAN_STATE_ERROR_WARNING:
  		/* error warning state */
  		cdev->can.can_stats.error_warning++;
  		cdev->can.state = CAN_STATE_ERROR_WARNING;
@@ -694,7 +694,7 @@ static int m_can_handle_state_change(struct net_device *dev,
  	__m_can_get_berr_counter(dev, &bec);
switch (new_state) {
-	case CAN_STATE_ERROR_ACTIVE:
+	case CAN_STATE_ERROR_WARNING:
  		/* error warning state */
  		cf->can_id |= CAN_ERR_CRTL;
  		cf->data[1] = (bec.txerr > bec.rxerr) ?

Reviewed-by: Dan Murphy<dmurphy@xxxxxx>




[Index of Archives]     [Automotive Discussions]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]     [CAN Bus]

  Powered by Linux