[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <1325724403-29642-1-git-send-email-konrad.wilk@oracle.com>
Date: Wed, 4 Jan 2012 19:46:38 -0500
From: Konrad Rzeszutek Wilk <konrad.wilk@...cle.com>
To: linux-kernel@...r.kernel.org, jbarnes@...tuousgeek.org,
linux-pci@...r.kernel.org
Cc: xen-devel@...ts.xensource.com
Subject: [PATCH] Support Function Level Reset (FLR) in the xen-pciback module (v1) and some fixes.
The attached patches allow the pciback module to perform a reset whenever
a PCI device is:
- attached to the pciback module, as so:
echo "0000:01.07.0" > /sys/bus/pci/devices/pciback/bind
- detached from the pciback module, as so:
echo "0000:01.07.0" > /sys/bus/pci/devices/pciback/unbind
- and when the guest is done with (internally when the guest is not using
the PCI device anymore).
I ran in one issue which is that I could not do pci_reset_function call when "bind"
or "unbind" were done as the device_lock was held (and pci_reset_function tried to
acquire the mutex). The solution was to introduce a new "pci_reset_function":
[PATCH 1/5] pci: Introduce __pci_reset_function_locked to be used
and then piggyback on that in
[PATCH 2/5] xen/pciback: Support pci_reset_function, aka FLR or D3
Also there are two fixes included in this - one where the PCI_DEV_FLAG_ASSIGNED
was in the wrong location and the "device has been assigned to other domain"
warning that always appeared. More details are in the patches themselves.
drivers/pci/pci.c | 25 ++++++++++++++++++++
drivers/xen/xen-pciback/pci_stub.c | 45 +++++++++++++++++++++++++++++++++--
drivers/xen/xen-pciback/pciback.h | 1 +
drivers/xen/xen-pciback/xenbus.c | 8 +++---
include/linux/pci.h | 1 +
5 files changed, 73 insertions(+), 7 deletions(-)
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists