提交 28e7d218 编写于 作者: R Rafał Miłecki 提交者: John W. Linville

bcma: invalidate the mapped core over suspend/resume

This clears the currently mapped core when suspending, to force
re-mapping after resume. Without that we were touching default core
registers believing some other core is mapped. Such a behaviour
resulted in lockups on some machines.

Cc: stable@vger.kernel.org
Signed-off-by: NRafał Miłecki <zajec5@gmail.com>
Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
上级 8675b505
...@@ -237,11 +237,14 @@ static void bcma_host_pci_remove(struct pci_dev *dev) ...@@ -237,11 +237,14 @@ static void bcma_host_pci_remove(struct pci_dev *dev)
#ifdef CONFIG_PM #ifdef CONFIG_PM
static int bcma_host_pci_suspend(struct pci_dev *dev, pm_message_t state) static int bcma_host_pci_suspend(struct pci_dev *dev, pm_message_t state)
{ {
struct bcma_bus *bus = pci_get_drvdata(dev);
/* Host specific */ /* Host specific */
pci_save_state(dev); pci_save_state(dev);
pci_disable_device(dev); pci_disable_device(dev);
pci_set_power_state(dev, pci_choose_state(dev, state)); pci_set_power_state(dev, pci_choose_state(dev, state));
bus->mapped_core = NULL;
return 0; return 0;
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册