diff options
| author | Greg Kroah-Hartman <gregkh@suse.de> | 2007-03-13 12:33:30 -0700 |
|---|---|---|
| committer | Greg Kroah-Hartman <gregkh@suse.de> | 2007-03-13 12:33:30 -0700 |
| commit | 1a71ae94fc8fffde987dc043ef7dd91e44240c4d (patch) | |
| tree | 5e6a79de2c1e7292b3ff22d92087174e35322169 | |
| parent | 0e17f7c0bde133ba377ac005f6dc5f085ccda916 (diff) | |
| download | patches-1a71ae94fc8fffde987dc043ef7dd91e44240c4d.tar.gz | |
version update
| -rw-r--r-- | driver-class/block-device.patch | 2 | ||||
| -rw-r--r-- | driver-class/sys-subsys-unification.patch | 10 | ||||
| -rw-r--r-- | driver/driver-core-per-subsystem-multithreaded-probing.patch | 2 | ||||
| -rw-r--r-- | pci/msi-safer-state-caching.patch | 326 | ||||
| -rw-r--r-- | pci/pci-new-pci-e-reset-api.patch | 6 | ||||
| -rw-r--r-- | pci/pci-repair-pci_save-restore_state-so-we-can-restore-one-save-many-times.patch | 87 | ||||
| -rw-r--r-- | series | 2 | ||||
| -rw-r--r-- | version | 2 |
8 files changed, 11 insertions, 426 deletions
diff --git a/driver-class/block-device.patch b/driver-class/block-device.patch index 27d2047eb19af5..4acbad22f4f22a 100644 --- a/driver-class/block-device.patch +++ b/driver-class/block-device.patch @@ -704,7 +704,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> } --- a/drivers/base/core.c +++ b/drivers/base/core.c -@@ -783,7 +783,7 @@ void device_del(struct device * dev) +@@ -821,7 +821,7 @@ void device_del(struct device * dev) if (dev->kobj.parent != &dev->class->subsys.kset.kobj) sysfs_remove_link(&dev->class->subsys.kset.kobj, dev->bus_id); diff --git a/driver-class/sys-subsys-unification.patch b/driver-class/sys-subsys-unification.patch index 07f934f1524b54..d45c6dd1628780 100644 --- a/driver-class/sys-subsys-unification.patch +++ b/driver-class/sys-subsys-unification.patch @@ -469,7 +469,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> /** * device_create_file - create sysfs attribute file for device. * @dev: device. -@@ -605,13 +594,21 @@ int device_add(struct device *dev) +@@ -640,13 +629,21 @@ int device_add(struct device *dev) } if (dev->class) { @@ -498,9 +498,9 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> if (parent) { sysfs_create_link(&dev->kobj, &dev->parent->kobj, "device"); -@@ -777,12 +774,18 @@ void device_del(struct device * dev) - kfree(dev->devt_attr); - } +@@ -815,12 +812,18 @@ void device_del(struct device * dev) + list_for_each_entry_safe(vd, temp_vd, &dev->virtual_dirs, list) + kfree(vd); if (dev->class) { + struct kobject *devices_dir; + @@ -522,7 +522,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> if (parent && parent->bus) { #ifdef CONFIG_SYSFS_DEPRECATED char *class_name = make_class_name(dev->class->name, -@@ -913,9 +916,20 @@ struct device * device_find_child(struct +@@ -951,9 +954,20 @@ struct device * device_find_child(struct return child; } diff --git a/driver/driver-core-per-subsystem-multithreaded-probing.patch b/driver/driver-core-per-subsystem-multithreaded-probing.patch index 0584b95848907e..7c8d660ddd08ac 100644 --- a/driver/driver-core-per-subsystem-multithreaded-probing.patch +++ b/driver/driver-core-per-subsystem-multithreaded-probing.patch @@ -201,7 +201,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> --- a/include/linux/pci.h +++ b/include/linux/pci.h -@@ -366,8 +366,6 @@ struct pci_driver { +@@ -361,8 +361,6 @@ struct pci_driver { struct pci_error_handlers *err_handler; struct device_driver driver; struct pci_dynids dynids; diff --git a/pci/msi-safer-state-caching.patch b/pci/msi-safer-state-caching.patch deleted file mode 100644 index 7274e13688f795..00000000000000 --- a/pci/msi-safer-state-caching.patch +++ /dev/null @@ -1,326 +0,0 @@ -From owner-linux-pci@atrey.karlin.mff.cuni.cz Thu Mar 8 12:05:21 2007 -From: Eric W. Biederman <ebiederm@xmission.com> -Date: Thu, 08 Mar 2007 13:04:57 -0700 -Subject: msi: Safer state caching. -To: Andrew Morton <akpm@linux-foundation.org>, Linus Torvalds <torvalds@linux-foundation.org> -Cc: Jeff Garzik <jeff@garzik.org>, "Kok, Auke" <auke-jan.h.kok@intel.com>, Ingo Molnar <mingo@elte.hu>, "Michael S. Tsirkin" <mst@mellanox.co.il>, Pavel Machek <pavel@ucw.cz>, Jens Axboe <jens.axboe@oracle.com>, Adrian Bunk <bunk@stusta.de>, Linux Kernel Mailing List <linux-kernel@vger.kernel.org>, Thomas Gleixner <tglx@linutronix.de>, linux-pm@lists.osdl.org, Michal Piotrowski <michal.k.k.piotrowski@gmail.com>, Greg Kroah-Hartman <gregkh@suse.de>, <linux-pci@atrey.karlin.mff.cuni.cz>, michael@ellerman.id.au -Message-ID: <m1ps7j5wnq.fsf_-_@ebiederm.dsl.xmission.com> - -From: Eric W. Biederman <ebiederm@xmission.com> - - -There are two ways pci_save_state and pci_restore_state are used. As -helper functions during suspend/resume, and as helper functions around -a hardware reset event. When used as helper functions around a hardware -reset event there is no reason to believe the calls will be paired, nor -is there a good reason to believe that if we restore the msi state from -before the reset that it will match the current msi state. Since arch -code may change the msi message without going through the driver, drivers -currently do not have enough information to even know when to call -pci_save_state to ensure they will have msi state in sync with the other -kernel irq reception data structures. - -It turns out the solution is straight forward, cache the state in the -existing msi data structures (not the magic pci saved things) and -have the msi code update the cached state each time we write to the hardware. -This means we never need to read the hardware to figure out what the hardware -state should be. - -By modifying the caching in this manner we get to remove our save_state -routines and only need to provide restore_state routines. - -The only fields that were at all tricky to regenerate were the msi and msi-x -control registers and the way we regenerate them currently is a bit dependent -upon assumptions on how we use the allow msi registers to be configured and used -making the code a little bit brittle. If we ever change what cases we allow -or how we configure the msi bits we can address the fragility then. - -Signed-off-by: Eric W. Biederman <ebiederm@xmission.com> -Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> - ---- - drivers/pci/msi.c | 150 +++++++---------------------------------------- - drivers/pci/pci.c | 2 - drivers/pci/pci.h | 2 - include/linux/msi.h | 8 -- - include/linux/pci_regs.h | 1 - 5 files changed, 29 insertions(+), 134 deletions(-) - ---- a/drivers/pci/msi.c -+++ b/drivers/pci/msi.c -@@ -100,6 +100,7 @@ static void msi_set_mask_bit(unsigned in - BUG(); - break; - } -+ entry->msi_attrib.masked = !!flag; - } - - void read_msi_msg(unsigned int irq, struct msi_msg *msg) -@@ -179,6 +180,7 @@ void write_msi_msg(unsigned int irq, str - default: - BUG(); - } -+ entry->msg = *msg; - } - - void mask_msi_irq(unsigned int irq) -@@ -225,164 +227,60 @@ static struct msi_desc* alloc_msi_entry( - } - - #ifdef CONFIG_PM --static int __pci_save_msi_state(struct pci_dev *dev) --{ -- int pos, i = 0; -- u16 control; -- struct pci_cap_saved_state *save_state; -- u32 *cap; -- -- if (!dev->msi_enabled) -- return 0; -- -- pos = pci_find_capability(dev, PCI_CAP_ID_MSI); -- if (pos <= 0) -- return 0; -- -- save_state = kzalloc(sizeof(struct pci_cap_saved_state) + sizeof(u32) * 5, -- GFP_KERNEL); -- if (!save_state) { -- printk(KERN_ERR "Out of memory in pci_save_msi_state\n"); -- return -ENOMEM; -- } -- cap = &save_state->data[0]; -- -- pci_read_config_dword(dev, pos, &cap[i++]); -- control = cap[0] >> 16; -- pci_read_config_dword(dev, pos + PCI_MSI_ADDRESS_LO, &cap[i++]); -- if (control & PCI_MSI_FLAGS_64BIT) { -- pci_read_config_dword(dev, pos + PCI_MSI_ADDRESS_HI, &cap[i++]); -- pci_read_config_dword(dev, pos + PCI_MSI_DATA_64, &cap[i++]); -- } else -- pci_read_config_dword(dev, pos + PCI_MSI_DATA_32, &cap[i++]); -- if (control & PCI_MSI_FLAGS_MASKBIT) -- pci_read_config_dword(dev, pos + PCI_MSI_MASK_BIT, &cap[i++]); -- save_state->cap_nr = PCI_CAP_ID_MSI; -- pci_add_saved_cap(dev, save_state); -- return 0; --} -- - static void __pci_restore_msi_state(struct pci_dev *dev) - { -- int i = 0, pos; -+ int pos; - u16 control; -- struct pci_cap_saved_state *save_state; -- u32 *cap; -+ struct msi_desc *entry; - - if (!dev->msi_enabled) - return; - -- save_state = pci_find_saved_cap(dev, PCI_CAP_ID_MSI); -- pos = pci_find_capability(dev, PCI_CAP_ID_MSI); -- if (!save_state || pos <= 0) -- return; -- cap = &save_state->data[0]; -+ entry = get_irq_msi(dev->irq); -+ pos = entry->msi_attrib.pos; - - pci_intx(dev, 0); /* disable intx */ -- control = cap[i++] >> 16; - msi_set_enable(dev, 0); -- pci_write_config_dword(dev, pos + PCI_MSI_ADDRESS_LO, cap[i++]); -- if (control & PCI_MSI_FLAGS_64BIT) { -- pci_write_config_dword(dev, pos + PCI_MSI_ADDRESS_HI, cap[i++]); -- pci_write_config_dword(dev, pos + PCI_MSI_DATA_64, cap[i++]); -- } else -- pci_write_config_dword(dev, pos + PCI_MSI_DATA_32, cap[i++]); -- if (control & PCI_MSI_FLAGS_MASKBIT) -- pci_write_config_dword(dev, pos + PCI_MSI_MASK_BIT, cap[i++]); -+ write_msi_msg(dev->irq, &entry->msg); -+ if (entry->msi_attrib.maskbit) -+ msi_set_mask_bit(dev->irq, entry->msi_attrib.masked); -+ -+ pci_read_config_word(dev, pos + PCI_MSI_FLAGS, &control); -+ control &= ~(PCI_MSI_FLAGS_QSIZE | PCI_MSI_FLAGS_ENABLE); -+ if (entry->msi_attrib.maskbit || !entry->msi_attrib.masked) -+ control |= PCI_MSI_FLAGS_ENABLE; - pci_write_config_word(dev, pos + PCI_MSI_FLAGS, control); -- pci_remove_saved_cap(save_state); -- kfree(save_state); --} -- --static int __pci_save_msix_state(struct pci_dev *dev) --{ -- int pos; -- int irq, head, tail = 0; -- u16 control; -- struct pci_cap_saved_state *save_state; -- -- if (!dev->msix_enabled) -- return 0; -- -- pos = pci_find_capability(dev, PCI_CAP_ID_MSIX); -- if (pos <= 0) -- return 0; -- -- /* save the capability */ -- pci_read_config_word(dev, msi_control_reg(pos), &control); -- save_state = kzalloc(sizeof(struct pci_cap_saved_state) + sizeof(u16), -- GFP_KERNEL); -- if (!save_state) { -- printk(KERN_ERR "Out of memory in pci_save_msix_state\n"); -- return -ENOMEM; -- } -- *((u16 *)&save_state->data[0]) = control; -- -- /* save the table */ -- irq = head = dev->first_msi_irq; -- while (head != tail) { -- struct msi_desc *entry; -- -- entry = get_irq_msi(irq); -- read_msi_msg(irq, &entry->msg_save); -- -- tail = entry->link.tail; -- irq = tail; -- } -- -- save_state->cap_nr = PCI_CAP_ID_MSIX; -- pci_add_saved_cap(dev, save_state); -- return 0; --} -- --int pci_save_msi_state(struct pci_dev *dev) --{ -- int rc; -- -- rc = __pci_save_msi_state(dev); -- if (rc) -- return rc; -- -- rc = __pci_save_msix_state(dev); -- -- return rc; - } - - static void __pci_restore_msix_state(struct pci_dev *dev) - { -- u16 save; - int pos; - int irq, head, tail = 0; - struct msi_desc *entry; -- struct pci_cap_saved_state *save_state; -+ u16 control; - - if (!dev->msix_enabled) - return; - -- save_state = pci_find_saved_cap(dev, PCI_CAP_ID_MSIX); -- if (!save_state) -- return; -- save = *((u16 *)&save_state->data[0]); -- pci_remove_saved_cap(save_state); -- kfree(save_state); -- -- pos = pci_find_capability(dev, PCI_CAP_ID_MSIX); -- if (pos <= 0) -- return; -- - /* route the table */ - pci_intx(dev, 0); /* disable intx */ - msix_set_enable(dev, 0); - irq = head = dev->first_msi_irq; -+ entry = get_irq_msi(irq); -+ pos = entry->msi_attrib.pos; - while (head != tail) { - entry = get_irq_msi(irq); -- write_msi_msg(irq, &entry->msg_save); -+ write_msi_msg(irq, &entry->msg); -+ msi_set_mask_bit(irq, entry->msi_attrib.masked); - - tail = entry->link.tail; - irq = tail; - } - -- pci_write_config_word(dev, msi_control_reg(pos), save); -+ pci_read_config_word(dev, pos + PCI_MSIX_FLAGS, &control); -+ control &= ~PCI_MSIX_FLAGS_MASKALL; -+ control |= PCI_MSIX_FLAGS_ENABLE; -+ pci_write_config_word(dev, pos + PCI_MSIX_FLAGS, control); - } - - void pci_restore_msi_state(struct pci_dev *dev) -@@ -420,6 +318,7 @@ static int msi_capability_init(struct pc - entry->msi_attrib.is_64 = is_64bit_address(control); - entry->msi_attrib.entry_nr = 0; - entry->msi_attrib.maskbit = is_mask_bit_support(control); -+ entry->msi_attrib.masked = 1; - entry->msi_attrib.default_irq = dev->irq; /* Save IOAPIC IRQ */ - entry->msi_attrib.pos = pos; - if (is_mask_bit_support(control)) { -@@ -507,6 +406,7 @@ static int msix_capability_init(struct p - entry->msi_attrib.is_64 = 1; - entry->msi_attrib.entry_nr = j; - entry->msi_attrib.maskbit = 1; -+ entry->msi_attrib.masked = 1; - entry->msi_attrib.default_irq = dev->irq; - entry->msi_attrib.pos = pos; - entry->dev = dev; ---- a/drivers/pci/pci.c -+++ b/drivers/pci/pci.c -@@ -638,8 +638,6 @@ pci_save_state(struct pci_dev *dev) - /* XXX: 100% dword access ok here? */ - for (i = 0; i < 16; i++) - pci_read_config_dword(dev, i * 4,&dev->saved_config_space[i]); -- if ((i = pci_save_msi_state(dev)) != 0) -- return i; - if ((i = pci_save_pcie_state(dev)) != 0) - return i; - if ((i = pci_save_pcix_state(dev)) != 0) ---- a/drivers/pci/pci.h -+++ b/drivers/pci/pci.h -@@ -52,10 +52,8 @@ static inline void pci_no_msi(void) { } - #endif - - #if defined(CONFIG_PCI_MSI) && defined(CONFIG_PM) --int pci_save_msi_state(struct pci_dev *dev); - void pci_restore_msi_state(struct pci_dev *dev); - #else --static inline int pci_save_msi_state(struct pci_dev *dev) { return 0; } - static inline void pci_restore_msi_state(struct pci_dev *dev) {} - #endif - ---- a/include/linux/msi.h -+++ b/include/linux/msi.h -@@ -17,7 +17,7 @@ struct msi_desc { - struct { - __u8 type : 5; /* {0: unused, 5h:MSI, 11h:MSI-X} */ - __u8 maskbit : 1; /* mask-pending bit supported ? */ -- __u8 unused : 1; -+ __u8 masked : 1; - __u8 is_64 : 1; /* Address size: 0=32bit 1=64bit */ - __u8 pos; /* Location of the msi capability */ - __u16 entry_nr; /* specific enabled entry */ -@@ -32,10 +32,8 @@ struct msi_desc { - void __iomem *mask_base; - struct pci_dev *dev; - --#ifdef CONFIG_PM -- /* PM save area for MSIX address/data */ -- struct msi_msg msg_save; --#endif -+ /* Last set MSI message */ -+ struct msi_msg msg; - }; - - /* ---- a/include/linux/pci_regs.h -+++ b/include/linux/pci_regs.h -@@ -296,6 +296,7 @@ - #define PCI_MSIX_FLAGS 2 - #define PCI_MSIX_FLAGS_QSIZE 0x7FF - #define PCI_MSIX_FLAGS_ENABLE (1 << 15) -+#define PCI_MSIX_FLAGS_MASKALL (1 << 14) - #define PCI_MSIX_FLAGS_BIRMASK (7 << 0) - #define PCI_MSIX_FLAGS_BITMASK (1 << 0) - diff --git a/pci/pci-new-pci-e-reset-api.patch b/pci/pci-new-pci-e-reset-api.patch index a079f39860c0c5..bb057256a33566 100644 --- a/pci/pci-new-pci-e-reset-api.patch +++ b/pci/pci-new-pci-e-reset-api.patch @@ -27,7 +27,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> --- a/drivers/pci/pci.c +++ b/drivers/pci/pci.c -@@ -893,6 +893,34 @@ pci_disable_device(struct pci_dev *dev) +@@ -891,6 +891,34 @@ pci_disable_device(struct pci_dev *dev) } /** @@ -62,7 +62,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> * pci_enable_wake - enable device to generate PME# when suspended * @dev: - PCI device to operate on * @state: - Current state of device. -@@ -1405,4 +1433,5 @@ EXPORT_SYMBOL(pci_set_power_state); +@@ -1403,4 +1431,5 @@ EXPORT_SYMBOL(pci_set_power_state); EXPORT_SYMBOL(pci_save_state); EXPORT_SYMBOL(pci_restore_state); EXPORT_SYMBOL(pci_enable_wake); @@ -90,7 +90,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> typedef unsigned short __bitwise pci_bus_flags_t; enum pci_bus_flags { PCI_BUS_FLAGS_NO_MSI = (__force pci_bus_flags_t) 1, -@@ -537,6 +550,7 @@ static inline int pci_is_managed(struct +@@ -532,6 +545,7 @@ static inline int pci_is_managed(struct void pci_disable_device(struct pci_dev *dev); void pci_set_master(struct pci_dev *dev); diff --git a/pci/pci-repair-pci_save-restore_state-so-we-can-restore-one-save-many-times.patch b/pci/pci-repair-pci_save-restore_state-so-we-can-restore-one-save-many-times.patch deleted file mode 100644 index d623e1b2f4c4d3..00000000000000 --- a/pci/pci-repair-pci_save-restore_state-so-we-can-restore-one-save-many-times.patch +++ /dev/null @@ -1,87 +0,0 @@ -From owner-linux-pci@atrey.karlin.mff.cuni.cz Thu Mar 8 12:06:39 2007 -From: Eric W. Biederman <ebiederm@xmission.com> -Date: Thu, 08 Mar 2007 13:06:13 -0700 -Subject: pci: Repair pci_save/restore_state so we can restore one save many times. -To: Andrew Morton <akpm@linux-foundation.org>, Linus Torvalds <torvalds@linux-foundation.org> -Cc: Jeff Garzik <jeff@garzik.org>, "Kok, Auke" <auke-jan.h.kok@intel.com>, Ingo Molnar <mingo@elte.hu>, "Michael S. Tsirkin" <mst@mellanox.co.il>, Pavel Machek <pavel@ucw.cz>, Jens Axboe <jens.axboe@oracle.com>, Adrian Bunk <bunk@stusta.de>, Linux Kernel Mailing List <linux-kernel@vger.kernel.org>, Thomas Gleixner <tglx@linutronix.de>, linux-pm@lists.osdl.org, Michal Piotrowski <michal.k.k.piotrowski@gmail.com>, Greg Kroah-Hartman <gregkh@suse.de>, <linux-pci@atrey.karlin.mff.cuni.cz>, michael@ellerman.id.au -Message-ID: <m1lki75wlm.fsf_-_@ebiederm.dsl.xmission.com> - - -From: Eric W. Biederman <ebiederm@xmission.com> - -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> - ---- - drivers/pci/pci.c | 12 ++++++------ - include/linux/pci.h | 5 ----- - 2 files changed, 6 insertions(+), 11 deletions(-) - ---- a/drivers/pci/pci.c -+++ b/drivers/pci/pci.c -@@ -551,7 +551,9 @@ static int pci_save_pcie_state(struct pc - if (pos <= 0) - return 0; - -- save_state = kzalloc(sizeof(*save_state) + sizeof(u16) * 4, GFP_KERNEL); -+ save_state = pci_find_saved_cap(dev, PCI_CAP_ID_EXP); -+ if (!save_state) -+ save_state = kzalloc(sizeof(*save_state) + sizeof(u16) * 4, GFP_KERNEL); - if (!save_state) { - dev_err(&dev->dev, "Out of memory in pci_save_pcie_state\n"); - return -ENOMEM; -@@ -582,8 +584,6 @@ static void pci_restore_pcie_state(struc - pci_write_config_word(dev, pos + PCI_EXP_LNKCTL, cap[i++]); - pci_write_config_word(dev, pos + PCI_EXP_SLTCTL, cap[i++]); - pci_write_config_word(dev, pos + PCI_EXP_RTCTL, cap[i++]); -- pci_remove_saved_cap(save_state); -- kfree(save_state); - } - - -@@ -597,7 +597,9 @@ static int pci_save_pcix_state(struct pc - if (pos <= 0) - return 0; - -- save_state = kzalloc(sizeof(*save_state) + sizeof(u16), GFP_KERNEL); -+ save_state = pci_find_saved_cap(dev, PCI_CAP_ID_EXP); -+ if (!save_state) -+ save_state = kzalloc(sizeof(*save_state) + sizeof(u16), GFP_KERNEL); - if (!save_state) { - dev_err(&dev->dev, "Out of memory in pci_save_pcie_state\n"); - return -ENOMEM; -@@ -622,8 +624,6 @@ static void pci_restore_pcix_state(struc - cap = (u16 *)&save_state->data[0]; - - pci_write_config_word(dev, pos + PCI_X_CMD, cap[i++]); -- pci_remove_saved_cap(save_state); -- kfree(save_state); - } - - ---- a/include/linux/pci.h -+++ b/include/linux/pci.h -@@ -222,11 +222,6 @@ static inline void pci_add_saved_cap(str - hlist_add_head(&new_cap->next, &pci_dev->saved_cap_space); - } - --static inline void pci_remove_saved_cap(struct pci_cap_saved_state *cap) --{ -- hlist_del(&cap->next); --} -- - /* - * For PCI devices, the region numbers are assigned this way: - * @@ -39,8 +39,6 @@ pci/pciehp-event-handling-rework.patch pci/pciehp-adapt-to-device-driver-model.patch pci/pci-scatterlist.h-needs-types.h.patch pci/pci-cleanup-the-includes-of-linux-pci.h.patch -pci/msi-safer-state-caching.patch -pci/pci-repair-pci_save-restore_state-so-we-can-restore-one-save-many-times.patch # usb patches queued for 2.6.21 (bugfixes, new ids, etc.) usb/pxa2xx_udc-cleanups-use-platform_get_irq.patch @@ -1 +1 @@ -2.6.21-rc3-git7 +2.6.21-rc3-git8 |
