can: m_can: m_can_handle_state_change(): fix state change
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@gmail.com>
Link: http://lore.kernel.org/r/20200129022330.21248-2-wubo.oduw@gmail.com
Cc: Dan Murphy <dmurphy@ti.com>
Fixes: e0d1f4816f
("can: m_can: add Bosch M_CAN controller support")
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
This commit is contained in:
@ -665,7 +665,7 @@ static int m_can_handle_state_change(struct net_device *dev,
|
|||||||
unsigned int ecr;
|
unsigned int ecr;
|
||||||
|
|
||||||
switch (new_state) {
|
switch (new_state) {
|
||||||
case CAN_STATE_ERROR_ACTIVE:
|
case CAN_STATE_ERROR_WARNING:
|
||||||
/* error warning state */
|
/* error warning state */
|
||||||
cdev->can.can_stats.error_warning++;
|
cdev->can.can_stats.error_warning++;
|
||||||
cdev->can.state = CAN_STATE_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);
|
__m_can_get_berr_counter(dev, &bec);
|
||||||
|
|
||||||
switch (new_state) {
|
switch (new_state) {
|
||||||
case CAN_STATE_ERROR_ACTIVE:
|
case CAN_STATE_ERROR_WARNING:
|
||||||
/* error warning state */
|
/* error warning state */
|
||||||
cf->can_id |= CAN_ERR_CRTL;
|
cf->can_id |= CAN_ERR_CRTL;
|
||||||
cf->data[1] = (bec.txerr > bec.rxerr) ?
|
cf->data[1] = (bec.txerr > bec.rxerr) ?
|
||||||
|
Reference in New Issue
Block a user