[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <202407271748.gsVE0Hih-lkp@intel.com>
Date: Sat, 27 Jul 2024 17:32:25 +0800
From: kernel test robot <lkp@...el.com>
To: Markus Schneider-Pargmann <msp@...libre.com>,
Chandrasekar Ramakrishnan <rcsekar@...sung.com>,
Marc Kleine-Budde <mkl@...gutronix.de>,
Vincent Mailhol <mailhol.vincent@...adoo.fr>,
"David S . Miller" <davem@...emloft.net>,
Eric Dumazet <edumazet@...gle.com>,
Jakub Kicinski <kuba@...nel.org>, Paolo Abeni <pabeni@...hat.com>,
Martin Hundebøll <martin@...nix.com>,
Michal Kubiak <michal.kubiak@...el.com>,
Simon Horman <horms@...nel.org>, Tony Lindgren <tony@...mide.com>,
Judith Mendez <jm@...com>
Cc: oe-kbuild-all@...ts.linux.dev,
Matthias Schiffer <matthias.schiffer@...tq-group.com>,
Linux regression tracking <regressions@...mhuis.info>,
linux-can@...r.kernel.org, netdev@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH 4/7] can: m_can: Do not cancel timer from within timer
Hi Markus,
kernel test robot noticed the following build warnings:
[auto build test WARNING on mkl-can-next/testing]
[also build test WARNING on linus/master v6.10 next-20240726]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]
url: https://github.com/intel-lab-lkp/linux/commits/Markus-Schneider-Pargmann/can-m_can-Reset-coalescing-during-suspend-resume/20240727-042714
base: https://git.kernel.org/pub/scm/linux/kernel/git/mkl/linux-can-next.git testing
patch link: https://lore.kernel.org/r/20240726195944.2414812-5-msp%40baylibre.com
patch subject: [PATCH 4/7] can: m_can: Do not cancel timer from within timer
config: m68k-allyesconfig (https://download.01.org/0day-ci/archive/20240727/202407271748.gsVE0Hih-lkp@intel.com/config)
compiler: m68k-linux-gcc (GCC) 14.1.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240727/202407271748.gsVE0Hih-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@...el.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202407271748.gsVE0Hih-lkp@intel.com/
All warnings (new ones prefixed by >>):
>> drivers/net/can/m_can/m_can.c:1205: warning: This comment starts with '/**', but isn't a kernel-doc comment. Refer Documentation/doc-guide/kernel-doc.rst
* This interrupt handler is called either from the interrupt thread or a
vim +1205 drivers/net/can/m_can/m_can.c
1203
1204 /**
> 1205 * This interrupt handler is called either from the interrupt thread or a
1206 * hrtimer. This has implications like cancelling a timer won't be possible
1207 * blocking.
1208 */
1209 static int m_can_interrupt_handler(struct m_can_classdev *cdev)
1210 {
1211 struct net_device *dev = cdev->net;
1212 u32 ir;
1213 int ret;
1214
1215 if (pm_runtime_suspended(cdev->dev))
1216 return IRQ_NONE;
1217
1218 ir = m_can_read(cdev, M_CAN_IR);
1219 m_can_coalescing_update(cdev, ir);
1220 if (!ir)
1221 return IRQ_NONE;
1222
1223 /* ACK all irqs */
1224 m_can_write(cdev, M_CAN_IR, ir);
1225
1226 if (cdev->ops->clear_interrupts)
1227 cdev->ops->clear_interrupts(cdev);
1228
1229 /* schedule NAPI in case of
1230 * - rx IRQ
1231 * - state change IRQ
1232 * - bus error IRQ and bus error reporting
1233 */
1234 if (ir & (IR_RF0N | IR_RF0W | IR_ERR_ALL_30X)) {
1235 cdev->irqstatus = ir;
1236 if (!cdev->is_peripheral) {
1237 m_can_disable_all_interrupts(cdev);
1238 napi_schedule(&cdev->napi);
1239 } else {
1240 ret = m_can_rx_handler(dev, NAPI_POLL_WEIGHT, ir);
1241 if (ret < 0)
1242 return ret;
1243 }
1244 }
1245
1246 if (cdev->version == 30) {
1247 if (ir & IR_TC) {
1248 /* Transmission Complete Interrupt*/
1249 u32 timestamp = 0;
1250 unsigned int frame_len;
1251
1252 if (cdev->is_peripheral)
1253 timestamp = m_can_get_timestamp(cdev);
1254 frame_len = m_can_tx_update_stats(cdev, 0, timestamp);
1255 m_can_finish_tx(cdev, 1, frame_len);
1256 }
1257 } else {
1258 if (ir & (IR_TEFN | IR_TEFW)) {
1259 /* New TX FIFO Element arrived */
1260 ret = m_can_echo_tx_event(dev);
1261 if (ret != 0)
1262 return ret;
1263 }
1264 }
1265
1266 if (cdev->is_peripheral)
1267 can_rx_offload_threaded_irq_finish(&cdev->offload);
1268
1269 return IRQ_HANDLED;
1270 }
1271
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
Powered by blists - more mailing lists