Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

can: m_can: Disable unused interrupts

There are a number of interrupts that are not used by the driver at the
moment. Disable all of these.

Signed-off-by: Markus Schneider-Pargmann <msp@baylibre.com>
Reviewed-by: Simon Horman <simon.horman@corigine.com>
Link: https://lore.kernel.org/all/20230315110546.2518305-5-msp@baylibre.com
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>

authored by

Markus Schneider-Pargmann and committed by
Marc Kleine-Budde
897e6632 71725bfd

+11 -7
+11 -7
drivers/net/can/m_can/m_can.c
··· 1261 1261 static int m_can_chip_config(struct net_device *dev) 1262 1262 { 1263 1263 struct m_can_classdev *cdev = netdev_priv(dev); 1264 + u32 interrupts = IR_ALL_INT; 1264 1265 u32 cccr, test; 1265 1266 int err; 1266 1267 ··· 1270 1269 dev_err(cdev->dev, "Message RAM configuration failed\n"); 1271 1270 return err; 1272 1271 } 1272 + 1273 + /* Disable unused interrupts */ 1274 + interrupts &= ~(IR_ARA | IR_ELO | IR_DRX | IR_TEFF | IR_TEFW | IR_TFE | 1275 + IR_TCF | IR_HPM | IR_RF1F | IR_RF1W | IR_RF1N | 1276 + IR_RF0F | IR_RF0W); 1273 1277 1274 1278 m_can_config_endisable(cdev, true); 1275 1279 ··· 1370 1364 m_can_write(cdev, M_CAN_TEST, test); 1371 1365 1372 1366 /* Enable interrupts */ 1373 - if (!(cdev->can.ctrlmode & CAN_CTRLMODE_BERR_REPORTING)) 1367 + if (!(cdev->can.ctrlmode & CAN_CTRLMODE_BERR_REPORTING)) { 1374 1368 if (cdev->version == 30) 1375 - m_can_write(cdev, M_CAN_IE, IR_ALL_INT & 1376 - ~(IR_ERR_LEC_30X)); 1369 + interrupts &= ~(IR_ERR_LEC_30X); 1377 1370 else 1378 - m_can_write(cdev, M_CAN_IE, IR_ALL_INT & 1379 - ~(IR_ERR_LEC_31X)); 1380 - else 1381 - m_can_write(cdev, M_CAN_IE, IR_ALL_INT); 1371 + interrupts &= ~(IR_ERR_LEC_31X); 1372 + } 1373 + m_can_write(cdev, M_CAN_IE, interrupts); 1382 1374 1383 1375 /* route all interrupts to INT0 */ 1384 1376 m_can_write(cdev, M_CAN_ILS, ILS_ALL_INT0);