1. 25 Nov, 2022 2 commits
    • Duoming Zhou's avatar
      qlcnic: fix sleep-in-atomic-context bugs caused by msleep · 8dbd6e4c
      Duoming Zhou authored
      The watchdog timer is used to monitor whether the process
      of transmitting data is timeout. If we use qlcnic driver,
      the dev_watchdog() that is the timer handler of watchdog
      timer will call qlcnic_tx_timeout() to process the timeout.
      But the qlcnic_tx_timeout() calls msleep(), as a result,
      the sleep-in-atomic-context bugs will happen. The processes
      are shown below:
      
         (atomic context)
      dev_watchdog
        qlcnic_tx_timeout
          qlcnic_83xx_idc_request_reset
            qlcnic_83xx_lock_driver
              msleep
      
      ---------------------------
      
         (atomic context)
      dev_watchdog
        qlcnic_tx_timeout
          qlcnic_83xx_idc_request_reset
            qlcnic_83xx_lock_driver
              qlcnic_83xx_recover_driver_lock
                msleep
      
      Fix by changing msleep() to mdelay(), the mdelay() is
      busy-waiting and the bugs could be mitigated.
      
      Fixes: 629263ac ("qlcnic: 83xx CNA inter driver communication mechanism")
      Signed-off-by: default avatarDuoming Zhou <duoming@zju.edu.cn>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      8dbd6e4c
    • David S. Miller's avatar
      Merge tag 'linux-can-fixes-for-6.1-20221124' of... · 8d1c37e6
      David S. Miller authored
      Merge tag 'linux-can-fixes-for-6.1-20221124' of git://git.kernel.org/pub/scm/linux/kernel/git/mkl/linux-can
      
      Marc Kleine-Budde says:
      
      ====================
      linux-can-fixes-for-6.1-20221124
      
      this is a pull request of 8 patches for net/master.
      
      Ziyang Xuan contributes a patch for the can327, fixing a potential SKB
      leak when the netdev is down.
      
      Heiko Schocher's patch for the sja1000 driver fixes the width of the
      definition of the OCR_MODE_MASK.
      
      Zhang Changzhong contributes 4 patches. In the sja1000_isa, cc770, and
      m_can_pci drivers the error path in the probe() function and in case
      of the etas_es58x a function that is called by probe() are fixed.
      
      Jiasheng Jiang add a missing check for the return value of the
      devm_clk_get() in the m_can driver.
      
      Yasushi SHOJI's patch for the mcba_usb fixes setting of the external
      termination resistor.
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      8d1c37e6
  2. 24 Nov, 2022 23 commits
  3. 23 Nov, 2022 15 commits