From: sunil.kovvuri@gmail.com
Date: Thu, 4 Oct 2018 23:51:47 +0530
quoted hunk ↗ jump to hunk
+int otx2_mbox_init(struct otx2_mbox *mbox, void *hwbase, struct pci_dev *pdev,
+ void *reg_base, int direction, int ndevs)
+{
+ int devid;
+ struct otx2_mbox_dev *mdev;
Please order local variable declarations from longest to shortest line.
Please audit your entire series for this problem.
quoted hunk ↗ jump to hunk
+int otx2_mbox_busy_poll_for_rsp(struct otx2_mbox *mbox, int devid)
+{
+ struct otx2_mbox_dev *mdev = &mbox->dev[devid];
+ unsigned long timeout = jiffies + 1 * HZ;
+
+ while (!time_after(jiffies, timeout)) {
+ if (mdev->num_msgs == mdev->msgs_acked)
+ return 0;
+ cpu_relax();
+ }
+ return -EIO;
+}
Probably not a good idea to poll something in the kernel for an entire
second. Please add a preemption point like a usleep() or similar.
cpu_relax() does not yield the cpu to the scheduler.
Thank you.