1. 12 9月, 2018 1 次提交
  2. 08 9月, 2018 1 次提交
  3. 06 9月, 2018 5 次提交
  4. 03 9月, 2018 2 次提交
  5. 02 9月, 2018 1 次提交
  6. 01 9月, 2018 1 次提交
  7. 17 8月, 2018 1 次提交
  8. 15 8月, 2018 2 次提交
  9. 10 8月, 2018 13 次提交
  10. 08 8月, 2018 2 次提交
  11. 04 8月, 2018 2 次提交
  12. 01 8月, 2018 1 次提交
  13. 23 7月, 2018 1 次提交
  14. 22 7月, 2018 1 次提交
    • U
      net: dsa: mv88e6xxx: fix races between lock and irq freeing · 3d82475a
      Uwe Kleine-König 提交于
      free_irq() waits until all handlers for this IRQ have completed. As the
      relevant handler (mv88e6xxx_g1_irq_thread_fn()) takes the chip's reg_lock
      it might never return if the thread calling free_irq() holds this lock.
      
      For the same reason kthread_cancel_delayed_work_sync() in the polling case
      must not hold this lock.
      
      Also first free the irq (or stop the worker respectively) such that
      mv88e6xxx_g1_irq_thread_work() isn't called any more before the irq
      mappings are dropped in mv88e6xxx_g1_irq_free_common() to prevent the
      worker thread to call handle_nested_irq(0) which results in a NULL-pointer
      exception.
      Signed-off-by: NUwe Kleine-König <u.kleine-koenig@pengutronix.de>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      3d82475a
  15. 19 7月, 2018 6 次提交