diff options
Diffstat (limited to 'drivers/net/can')
-rw-r--r-- | drivers/net/can/janz-ican3.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/drivers/net/can/janz-ican3.c b/drivers/net/can/janz-ican3.c index 47f8f6b4fef9..e06ec403521a 100644 --- a/drivers/net/can/janz-ican3.c +++ b/drivers/net/can/janz-ican3.c | |||
@@ -972,6 +972,16 @@ static int ican3_handle_cevtind(struct ican3_dev *mod, struct ican3_msg *msg) | |||
972 | stats->rx_errors++; | 972 | stats->rx_errors++; |
973 | } | 973 | } |
974 | 974 | ||
975 | /* | ||
976 | * The controller automatically disables bus-error interrupts | ||
977 | * and therefore we must re-enable them. | ||
978 | */ | ||
979 | ret = ican3_set_buserror(mod, 1); | ||
980 | if (ret) { | ||
981 | dev_err(mod->dev, "unable to re-enable bus-error\n"); | ||
982 | return ret; | ||
983 | } | ||
984 | |||
975 | /* bus error reporting is off, return immediately */ | 985 | /* bus error reporting is off, return immediately */ |
976 | if (!(mod->can.ctrlmode & CAN_CTRLMODE_BERR_REPORTING)) | 986 | if (!(mod->can.ctrlmode & CAN_CTRLMODE_BERR_REPORTING)) |
977 | return 0; | 987 | return 0; |
@@ -1451,7 +1461,7 @@ static int __devinit ican3_startup_module(struct ican3_dev *mod) | |||
1451 | } | 1461 | } |
1452 | 1462 | ||
1453 | /* default to "bus errors enabled" */ | 1463 | /* default to "bus errors enabled" */ |
1454 | ret = ican3_set_buserror(mod, ICAN3_BUSERR_QUOTA_MAX); | 1464 | ret = ican3_set_buserror(mod, 1); |
1455 | if (ret) { | 1465 | if (ret) { |
1456 | dev_err(mod->dev, "unable to set bus-error\n"); | 1466 | dev_err(mod->dev, "unable to set bus-error\n"); |
1457 | return ret; | 1467 | return ret; |