linux/drivers/pci
Eric W. Biederman 9f35575dfc [PATCH] pci: Repair pci_save/restore_state so we can restore one save many times.
Because we do not reserve space for the pci-x and pci-e state in struct
pci dev we need to dynamically allocate it.  However because we need
to support restore being called multiple times after a single save
it is never safe to free the buffers we have allocated to hold the
state.

So this patch modifies the save routines to first check to see
if we have already allocated a state buffer before allocating
a new one.  Then the restore routines are modified to not free
the state after restoring it.  Simple and it fixes some subtle
error path handling bugs, that are hard to test for.

Signed-off-by: Eric W. Biederman <ebiederm@xmission.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Acked-by: Auke Kok <auke-jan.h.kok@intel.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-03-12 16:31:50 -07:00
..
hotplug [PATCH] remove many unneeded #includes of sched.h 2007-02-14 08:09:54 -08:00
pcie PCI: aer: fix section mismatch warning 2007-03-09 15:36:30 -08:00
.gitignore
access.c
bus.c
hotplug.c
htirq.c
Kconfig [SPARC64]: Add PCI MSI support on Niagara. 2007-02-10 23:50:37 -08:00
Makefile
msi.c [PATCH] msi: Safer state caching. 2007-03-12 16:31:50 -07:00
msi.h
pci-acpi.c
pci-driver.c PCI/sysfs/kobject kernel-doc fixes 2007-02-16 15:30:10 -08:00
pci-sysfs.c PCI: Make PCI device numa-node attribute visible in sysfs 2007-02-16 15:30:11 -08:00
pci.c [PATCH] pci: Repair pci_save/restore_state so we can restore one save many times. 2007-03-12 16:31:50 -07:00
pci.h [PATCH] msi: Safer state caching. 2007-03-12 16:31:50 -07:00
probe.c adjust legacy IDE resource setting (v2) 2007-03-03 17:48:54 +01:00
proc.c [PATCH] mark struct file_operations const 5 2007-02-12 09:48:45 -08:00
quirks.c [PATCH] msi: sanely support hardware level msi disabling 2007-03-05 07:57:50 -08:00
remove.c
rom.c
search.c pci: fix section mismatch warning 2007-03-09 15:36:30 -08:00
setup-bus.c PCI: Make CARDBUS_MEM_SIZE and CARDBUS_IO_SIZE boot options 2007-02-16 15:30:10 -08:00
setup-irq.c PCI: PCI devices get assigned redundant IRQs 2007-02-16 15:30:10 -08:00
setup-res.c
syscall.c [PATCH] remove many unneeded #includes of sched.h 2007-02-14 08:09:54 -08:00