]> git.baikalelectronics.ru Git - kernel.git/commit
drivers: net: cpsw: fix wrong regs access in cpsw_remove
authorGrygorii Strashko <grygorii.strashko@ti.com>
Thu, 28 Jul 2016 17:50:35 +0000 (20:50 +0300)
committerDavid S. Miller <davem@davemloft.net>
Sun, 31 Jul 2016 04:00:33 +0000 (21:00 -0700)
commit8d07f5cf4deac4cf885a637fa1a4fe4d698167f6
treefcce5b52c32c476cc583c10b89d03052ae1e6243
parentfee9528cff1807e64ee2039c613d3ee57808db49
drivers: net: cpsw: fix wrong regs access in cpsw_remove

The L3 error will be generated and system will crash during unloading
of CPSW driver if CPSW is used as module and ethX devices are down.
This happens because CPSW can be power off by PM runtime now when ethX
devices are down.

Hence, ensure that CPSW powered up by PM runtime before performing any
deinitialization actions which require CPSW registers access. In case
of PM runtime error just leave cpsw_remove() as we can't do anything
anymore.

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>
drivers/net/ethernet/ti/cpsw.c