Grygorii Strashko
fccd5badb8
net: ethernet: ti: cpdma: fix lockup in cpdma_ctlr_destroy()
...
Fix deadlock in cpdma_ctlr_destroy() which is triggered now on
cpsw module removal:
cpsw_remove()
- cpdma_ctlr_destroy()
- spin_lock_irqsave(&ctlr->lock, flags)
- cpdma_ctlr_stop()
- spin_lock_irqsave(&ctlr->lock, flags);
- cpdma_chan_destroy()
- spin_lock_irqsave(&ctlr->lock, flags);
The issue has not been observed before because CPDMA channels have
been destroyed manually by CPSW until commit d941ebe88a ("net:
ethernet: ti: cpsw: use destroy ctlr to destroy channels") was merged.
Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com >
Reviewed-by: Mugunthan V N <mugunthanvnm@ti.com >
Signed-off-by: David S. Miller <davem@davemloft.net >
2016-07-30 21:00:33 -07:00
..
2016-07-29 13:55:30 -07:00
2016-07-27 14:03:52 -07:00
2016-07-19 11:30:26 -07:00
2016-07-28 16:07:41 -07:00
2016-07-25 11:09:19 -07:00
2016-07-28 17:38:16 -07:00
2016-07-18 10:13:02 +02:00
2016-07-14 09:34:40 +02:00
2016-07-12 08:24:50 -07:00
2016-07-29 17:38:46 -07:00
2016-07-18 17:45:41 -07:00
2016-07-15 10:41:45 +02:00
2016-07-05 11:40:47 -07:00
2016-07-26 17:29:07 -07:00
2016-07-21 23:29:38 +02:00
2016-07-26 13:40:17 -07:00
2016-07-06 15:14:48 -07:00
2016-07-06 13:11:24 +09:00
2016-07-28 15:45:17 -07:00
2016-07-27 13:40:47 -07:00
2016-07-02 14:31:34 +09:00
2016-07-27 11:35:37 -07:00
2016-07-26 19:16:01 -07:00
2016-07-28 12:59:05 -07:00
2016-07-28 10:49:23 +02:00
2016-07-27 14:19:25 -07:00
2016-07-06 12:20:34 -07:00
2016-07-29 13:55:30 -07:00
2016-07-27 14:19:25 -07:00
2016-07-29 13:29:06 -07:00
2016-07-09 01:05:30 +02:00
2016-07-14 12:05:29 +09:00
2016-07-24 00:53:32 -04:00
2016-07-27 14:30:41 -07:00
2016-07-27 20:03:31 -07:00
2016-07-29 13:55:30 -07:00
2016-07-29 13:55:30 -07:00
2016-07-20 17:37:01 -06:00
2016-07-28 18:04:39 -07:00
2016-07-27 14:58:31 -07:00
2016-07-20 17:38:27 -06:00
2016-07-20 18:02:08 +01:00
2016-07-27 14:19:25 -07:00
2016-07-26 15:37:51 -07:00
2016-07-27 12:03:20 -07:00
2016-07-30 21:00:33 -07:00
2016-07-20 23:39:36 -07:00
2016-07-28 17:38:16 -07:00
2016-07-26 15:37:51 -07:00
2016-07-27 12:03:20 -07:00
2016-07-26 17:29:07 -07:00
2016-07-29 13:55:30 -07:00
2016-07-27 12:03:20 -07:00
2016-07-28 17:06:51 -07:00
2016-07-26 17:23:08 -07:00
2016-07-26 18:27:20 -07:00
2016-07-26 19:49:09 -07:00
2016-07-23 10:25:54 +09:00
2016-07-20 18:02:08 +01:00
2016-07-14 20:11:36 -07:00
2016-07-28 17:38:16 -07:00
2016-07-28 14:22:25 -07:00
2016-07-27 14:11:43 -07:00
2016-07-29 15:54:19 -07:00
2016-07-27 12:03:20 -07:00
2016-07-27 22:54:52 -07:00
2016-07-28 14:30:16 -07:00
2016-07-19 10:54:45 -06:00
2016-07-26 16:19:19 -07:00
2016-07-26 16:19:19 -07:00
2016-07-27 11:35:37 -07:00
2016-07-27 15:18:53 -07:00