Sander Eikelenboom
2013-Mar-04 22:43 UTC
linux-3.9-rc1: WARNING: at drivers/pci/pci.c:1397 pci_disable_device+0x88/0xa0() Device pciback disabling already-disabled device
Hi Konrad, While shuting down a HVM guest with pci devices passed through i get this one below ... Both dom0 and domU run the same linux-3.9-rc1 (+ Thomas Gleixner patches) -- Sander [ 180.961192] device vif15.0 entered promiscuous mode [ 181.097796] device vif15.0-emu entered promiscuous mode [ 181.106751] xen_bridge: port 15(vif15.0-emu) entered forwarding state [ 181.112939] xen_bridge: port 15(vif15.0-emu) entered forwarding state [ 181.336210] pciback 0000:04:00.0: restoring config space at offset 0x3c (was 0x100, writing 0x10a) [ 181.342510] pciback 0000:04:00.0: restoring config space at offset 0x10 (was 0x4, writing 0xf98fe004) [ 181.348612] pciback 0000:04:00.0: restoring config space at offset 0xc (was 0x0, writing 0x10) [ 181.579575] pciback 0000:06:00.0: restoring config space at offset 0x3c (was 0x100, writing 0x10a) [ 181.585743] pciback 0000:06:00.0: restoring config space at offset 0x10 (was 0x4, writing 0xf9a00004) [ 181.591790] pciback 0000:06:00.0: restoring config space at offset 0xc (was 0x0, writing 0x10) [ 181.616296] xen-pciback: vpci: 0000:04:00.0: assign to virtual slot 0 [ 181.622736] xen-pciback: vpci: 0000:06:00.0: assign to virtual slot 1 [ 184.614376] xen_bridge: port 13(vif14.0) entered forwarding state [ 196.140071] xen_bridge: port 15(vif15.0-emu) entered forwarding state [ 206.187806] xen-blkback:ring-ref 8, event-channel 25, protocol 1 (x86_64-abi) persistent grants [ 206.200055] xen-blkback:ring-ref 9, event-channel 26, protocol 1 (x86_64-abi) persistent grants [ 206.874697] xen_bridge: port 14(vif15.0) entered forwarding state [ 206.880816] xen_bridge: port 14(vif15.0) entered forwarding state [ 221.912940] xen_bridge: port 14(vif15.0) entered forwarding state [ 752.827253] xen_bridge: port 14(vif15.0) entered disabled state [ 752.834251] device vif15.0 left promiscuous mode [ 752.840751] xen_bridge: port 14(vif15.0) entered disabled state [ 752.920946] xen_bridge: port 15(vif15.0-emu) entered disabled state [ 752.927663] device vif15.0-emu left promiscuous mode [ 752.934041] xen_bridge: port 15(vif15.0-emu) entered disabled state [ 758.988111] pciback 0000:04:00.0: restoring config space at offset 0x3c (was 0x100, writing 0x10a) [ 758.994784] pciback 0000:04:00.0: restoring config space at offset 0x10 (was 0x4, writing 0xf98fe004) [ 759.001491] pciback 0000:04:00.0: restoring config space at offset 0xc (was 0x0, writing 0x10) [ 759.008152] pciback 0000:04:00.0: restoring config space at offset 0x4 (was 0x100000, writing 0x100002) [ 759.014738] ------------[ cut here ]------------ [ 759.021162] WARNING: at drivers/pci/pci.c:1397 pci_disable_device+0x88/0xa0() [ 759.027692] Hardware name: MS-7640 [ 759.034233] Device pciback [ 759.034233] disabling already-disabled device [ 759.040705] Modules linked in: [ 759.053193] Pid: 53, comm: xenwatch Not tainted 3.9.0-rc1-20130304a+ #1 [ 759.059612] Call Trace: [ 759.066027] [<ffffffff8106994a>] warn_slowpath_common+0x7a/0xc0 [ 759.072471] [<ffffffff81069a31>] warn_slowpath_fmt+0x41/0x50 [ 759.078814] [<ffffffff813cf288>] pci_disable_device+0x88/0xa0 [ 759.085085] [<ffffffff814554a7>] xen_pcibk_reset_device+0x37/0xd0 [ 759.091454] [<ffffffff81454b6f>] ? pcistub_put_pci_dev+0x6f/0x120 [ 759.097818] [<ffffffff81454b8d>] pcistub_put_pci_dev+0x8d/0x120 [ 759.104251] [<ffffffff814582a9>] __xen_pcibk_release_devices+0x59/0xa0 [ 759.110652] [<ffffffff81455605>] xen_pcibk_xenbus_remove+0x45/0x90 [ 759.117135] [<ffffffff8144ae78>] xenbus_dev_remove+0x38/0x70 [ 759.123660] [<ffffffff814b3351>] __device_release_driver+0x61/0xd0 [ 759.130259] [<ffffffff814b34ba>] device_release_driver+0x2a/0x40 [ 759.136810] [<ffffffff814b2782>] bus_remove_device+0x122/0x170 [ 759.143336] [<ffffffff814b0afd>] device_del+0x11d/0x1c0 [ 759.149827] [<ffffffff814b0bb1>] device_unregister+0x11/0x20 [ 759.156347] [<ffffffff814563c6>] xen_pcibk_frontend_changed+0x66/0xc0 [ 759.162848] [<ffffffff8144b122>] xenbus_otherend_changed+0xa2/0xb0 [ 759.169321] [<ffffffff8144b33b>] frontend_changed+0xb/0x10 [ 759.175809] [<ffffffff8144923e>] xenwatch_thread+0x4e/0x150 [ 759.182295] [<ffffffff8108ac30>] ? wake_up_bit+0x40/0x40 [ 759.188781] [<ffffffff814491f0>] ? xs_watch+0x60/0x60 [ 759.195246] [<ffffffff8108a5b6>] kthread+0xd6/0xe0 [ 759.201585] [<ffffffff8108a4e0>] ? __init_kthread_worker+0x70/0x70 [ 759.208055] [<ffffffff818ddabc>] ret_from_fork+0x7c/0xb0 [ 759.214446] [<ffffffff8108a4e0>] ? __init_kthread_worker+0x70/0x70 [ 759.220849] ---[ end trace 272f94a923e18e71 ]---
Konrad Rzeszutek Wilk
2013-Mar-05 16:20 UTC
Re: linux-3.9-rc1: WARNING: at drivers/pci/pci.c:1397 pci_disable_device+0x88/0xa0() Device pciback disabling already-disabled device
On Mon, Mar 04, 2013 at 11:43:23PM +0100, Sander Eikelenboom wrote:> Hi Konrad, > > While shuting down a HVM guest with pci devices passed through i get this one below ... > Both dom0 and domU run the same linux-3.9-rc1 (+ Thomas Gleixner patches)OK, that one looks pretty easy to fix:> [ 759.027692] Hardware name: MS-7640 > [ 759.034233] Device pciback > [ 759.034233] disabling already-disabled device^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Could you try the below patch please? diff --git a/drivers/xen/xen-pciback/pciback_ops.c b/drivers/xen/xen-pciback/pciback_ops.c index 37c1f82..b98cf0c 100644 --- a/drivers/xen/xen-pciback/pciback_ops.c +++ b/drivers/xen/xen-pciback/pciback_ops.c @@ -113,7 +113,8 @@ void xen_pcibk_reset_device(struct pci_dev *dev) if (dev->msi_enabled) pci_disable_msi(dev); #endif - pci_disable_device(dev); + if (pci_is_enabled(dev)) + pci_disable_device(dev); pci_write_config_word(dev, PCI_COMMAND, 0);
Sander Eikelenboom
2013-Mar-05 17:28 UTC
Re: linux-3.9-rc1: WARNING: at drivers/pci/pci.c:1397 pci_disable_device+0x88/0xa0() Device pciback disabling already-disabled device
Tuesday, March 5, 2013, 5:20:28 PM, you wrote:> On Mon, Mar 04, 2013 at 11:43:23PM +0100, Sander Eikelenboom wrote: >> Hi Konrad, >> >> While shuting down a HVM guest with pci devices passed through i get this one below ... >> Both dom0 and domU run the same linux-3.9-rc1 (+ Thomas Gleixner patches)> OK, that one looks pretty easy to fix:And it was .. Thx !>> [ 759.027692] Hardware name: MS-7640 >> [ 759.034233] Device pciback >> [ 759.034233] disabling already-disabled device > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^> Could you try the below patch please?> diff --git a/drivers/xen/xen-pciback/pciback_ops.c b/drivers/xen/xen-pciback/pciback_ops.c > index 37c1f82..b98cf0c 100644 > --- a/drivers/xen/xen-pciback/pciback_ops.c > +++ b/drivers/xen/xen-pciback/pciback_ops.c > @@ -113,7 +113,8 @@ void xen_pcibk_reset_device(struct pci_dev *dev) > if (dev->msi_enabled) > pci_disable_msi(dev); > #endif > - pci_disable_device(dev); > + if (pci_is_enabled(dev)) > + pci_disable_device(dev); > > pci_write_config_word(dev, PCI_COMMAND, 0); >