* [patch 0/4] 4 patches for 2.6.15
@ 2005-12-16 19:08 ` Greg Kroah-Hartman
2005-12-16 19:08 ` [patch 1/4] i2c: Fix i2c-mv64xxx compilation error Greg Kroah-Hartman
` (3 more replies)
0 siblings, 4 replies; 12+ messages in thread
From: Greg Kroah-Hartman @ 2005-12-16 19:08 UTC (permalink / raw)
To: Linus Torvalds, Andrew Morton; +Cc: linux-kernel
Hi,
Here are 4 patches against your latest 2.6.15-git tree. They fix the
following problems and should all go in for 2.6.15:
- kernel oops in pci code for some thinkpads and other boxes.
- kernel oops if pci express and pci express hotplug is built
into the kernel, instead of a module.
- build breakage in a i2c driver.
- memory barriers are needed for USB uhci driver in
suspend/resume path, as they were accidentally dropped in a
previous patch.
thanks,
greg k-h
^ permalink raw reply [flat|nested] 12+ messages in thread
* [patch 1/4] i2c: Fix i2c-mv64xxx compilation error
2005-12-16 19:08 ` [patch 0/4] 4 patches for 2.6.15 Greg Kroah-Hartman
@ 2005-12-16 19:08 ` Greg Kroah-Hartman
2005-12-16 19:08 ` [patch 2/4] PCI express must be initialized before PCI hotplug Greg Kroah-Hartman
` (2 subsequent siblings)
3 siblings, 0 replies; 12+ messages in thread
From: Greg Kroah-Hartman @ 2005-12-16 19:08 UTC (permalink / raw)
To: Linus Torvalds, Andrew Morton; +Cc: linux-kernel, lm-sensors, mgreer, khali
[-- Attachment #1: i2c-mv64xxx-compilation-error-fix.patch --]
[-- Type: text/plain, Size: 1272 bytes --]
From: "Mark A. Greer" <mgreer@mvista.com>
The busses/i2c-mv64xxx.c driver doesn't currently compile because of an
incorrect argument to dev_err(). This patch fixes that.
Signed-off-by: Mark A. Greer <mgreer@mvista.com>
Signed-off-by: Jean Delvare <khali@linux-fr.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
---
drivers/i2c/busses/i2c-mv64xxx.c | 11 ++++++-----
1 file changed, 6 insertions(+), 5 deletions(-)
--- gregkh-2.6.orig/drivers/i2c/busses/i2c-mv64xxx.c
+++ gregkh-2.6/drivers/i2c/busses/i2c-mv64xxx.c
@@ -529,14 +529,15 @@ mv64xxx_i2c_probe(struct platform_device
i2c_set_adapdata(&drv_data->adapter, drv_data);
if (request_irq(drv_data->irq, mv64xxx_i2c_intr, 0,
- MV64XXX_I2C_CTLR_NAME, drv_data)) {
-
- dev_err(dev, "mv64xxx: Can't register intr handler "
- "irq: %d\n", drv_data->irq);
+ MV64XXX_I2C_CTLR_NAME, drv_data)) {
+ dev_err(&drv_data->adapter.dev,
+ "mv64xxx: Can't register intr handler irq: %d\n",
+ drv_data->irq);
rc = -EINVAL;
goto exit_unmap_regs;
} else if ((rc = i2c_add_adapter(&drv_data->adapter)) != 0) {
- dev_err(dev, "mv64xxx: Can't add i2c adapter, rc: %d\n", -rc);
+ dev_err(&drv_data->adapter.dev,
+ "mv64xxx: Can't add i2c adapter, rc: %d\n", -rc);
goto exit_free_irq;
}
--
^ permalink raw reply [flat|nested] 12+ messages in thread
* [patch 2/4] PCI express must be initialized before PCI hotplug
2005-12-16 19:08 ` [patch 0/4] 4 patches for 2.6.15 Greg Kroah-Hartman
2005-12-16 19:08 ` [patch 1/4] i2c: Fix i2c-mv64xxx compilation error Greg Kroah-Hartman
@ 2005-12-16 19:08 ` Greg Kroah-Hartman
2005-12-16 19:08 ` [patch 3/4] PCI: Fix dumb bug in mmconfig fix Greg Kroah-Hartman
2005-12-16 19:09 ` [patch 4/4] UHCI: add missing memory barriers Greg Kroah-Hartman
3 siblings, 0 replies; 12+ messages in thread
From: Greg Kroah-Hartman @ 2005-12-16 19:08 UTC (permalink / raw)
To: Linus Torvalds, Andrew Morton; +Cc: linux-kernel, linux-pci, miltonm, anton
[-- Attachment #1: pci-express-must-be-initialized-before-pci-hotplug.patch --]
[-- Type: text/plain, Size: 962 bytes --]
From: Milton Miller <miltonm@bga.com>
PCI express hotplug uses the pcieportbus driver so pcie must be
initialized before hotplug/. This patch changes the link order.
Signed-Off-By: Milton Miller <miltonm@bga.com>
Acked-by: Anton Blanchard <anton@samba.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
---
drivers/pci/Makefile | 7 +++----
1 file changed, 3 insertions(+), 4 deletions(-)
--- gregkh-2.6.orig/drivers/pci/Makefile
+++ gregkh-2.6/drivers/pci/Makefile
@@ -6,6 +6,9 @@ obj-y += access.o bus.o probe.o remove.
pci-driver.o search.o pci-sysfs.o rom.o setup-res.o
obj-$(CONFIG_PROC_FS) += proc.o
+# Build PCI Express stuff if needed
+obj-$(CONFIG_PCIEPORTBUS) += pcie/
+
obj-$(CONFIG_HOTPLUG) += hotplug.o
# Build the PCI Hotplug drivers if we were asked to
@@ -40,7 +43,3 @@ endif
ifeq ($(CONFIG_PCI_DEBUG),y)
EXTRA_CFLAGS += -DDEBUG
endif
-
-# Build PCI Express stuff if needed
-obj-$(CONFIG_PCIEPORTBUS) += pcie/
-
--
^ permalink raw reply [flat|nested] 12+ messages in thread
* [patch 3/4] PCI: Fix dumb bug in mmconfig fix
2005-12-16 19:08 ` [patch 0/4] 4 patches for 2.6.15 Greg Kroah-Hartman
2005-12-16 19:08 ` [patch 1/4] i2c: Fix i2c-mv64xxx compilation error Greg Kroah-Hartman
2005-12-16 19:08 ` [patch 2/4] PCI express must be initialized before PCI hotplug Greg Kroah-Hartman
@ 2005-12-16 19:08 ` Greg Kroah-Hartman
2005-12-16 19:09 ` [patch 4/4] UHCI: add missing memory barriers Greg Kroah-Hartman
3 siblings, 0 replies; 12+ messages in thread
From: Greg Kroah-Hartman @ 2005-12-16 19:08 UTC (permalink / raw)
To: Linus Torvalds, Andrew Morton; +Cc: linux-kernel, linux-pci, ak
[-- Attachment #1: fix-dumb-bug-in-mmconfig-fix.patch --]
[-- Type: text/plain, Size: 917 bytes --]
From: Andi Kleen <ak@suse.de>
Use correct address when referencing mmconfig aperture while checking
for broken MCFG. This was a typo when porting the code from 64bit to
32bit. It caused oopses at boot on some ThinkPads.
Should definitely go into 2.6.15.
Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
---
arch/i386/pci/mmconfig.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--- gregkh-2.6.orig/arch/i386/pci/mmconfig.c
+++ gregkh-2.6/arch/i386/pci/mmconfig.c
@@ -155,7 +155,7 @@ static __init void unreachable_devices(v
addr = get_base_addr(0, 0, PCI_DEVFN(i, 0));
if (addr != 0)
pci_exp_set_dev_base(addr, 0, PCI_DEVFN(i, 0));
- if (addr == 0 || readl((u32 __iomem *)addr) != val1)
+ if (addr == 0 || readl((u32 __iomem *)mmcfg_virt_addr) != val1)
set_bit(i, fallback_slots);
spin_unlock_irqrestore(&pci_config_lock, flags);
}
--
^ permalink raw reply [flat|nested] 12+ messages in thread
* [patch 4/4] UHCI: add missing memory barriers
2005-12-16 19:08 ` [patch 0/4] 4 patches for 2.6.15 Greg Kroah-Hartman
` (2 preceding siblings ...)
2005-12-16 19:08 ` [patch 3/4] PCI: Fix dumb bug in mmconfig fix Greg Kroah-Hartman
@ 2005-12-16 19:09 ` Greg Kroah-Hartman
3 siblings, 0 replies; 12+ messages in thread
From: Greg Kroah-Hartman @ 2005-12-16 19:09 UTC (permalink / raw)
To: Linus Torvalds, Andrew Morton; +Cc: linux-kernel, linux-usb-devel, stern
[-- Attachment #1: uhci-add-missing-memory-barriers.patch --]
[-- Type: text/plain, Size: 969 bytes --]
From: Alan Stern <stern@rowland.harvard.edu>
This patch (as617) adds a couple of memory barriers that Ben H. forgot in
his recent suspend/resume fix.
Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
---
drivers/usb/host/uhci-hcd.c | 2 ++
1 file changed, 2 insertions(+)
--- gregkh-2.6.orig/drivers/usb/host/uhci-hcd.c
+++ gregkh-2.6/drivers/usb/host/uhci-hcd.c
@@ -717,6 +717,7 @@ static int uhci_suspend(struct usb_hcd *
* at the source, so we must turn off PIRQ.
*/
pci_write_config_word(to_pci_dev(uhci_dev(uhci)), USBLEGSUP, 0);
+ mb();
clear_bit(HCD_FLAG_HW_ACCESSIBLE, &hcd->flags);
uhci->hc_inaccessible = 1;
hcd->poll_rh = 0;
@@ -738,6 +739,7 @@ static int uhci_resume(struct usb_hcd *h
* really don't want to keep a stale HCD_FLAG_HW_ACCESSIBLE=0
*/
set_bit(HCD_FLAG_HW_ACCESSIBLE, &hcd->flags);
+ mb();
if (uhci->rh_state == UHCI_RH_RESET) /* Dead */
return 0;
--
^ permalink raw reply [flat|nested] 12+ messages in thread
* [patch 0/2] 2 USB patches for 2.6.15
@ 2005-12-21 22:27 ` Greg Kroah-Hartman
2005-12-21 22:28 ` [patch 1/2] USB Storage: Force starget->scsi_level in usb-storage scsiglue.c Greg Kroah-Hartman
2005-12-21 22:28 ` [patch 2/2] usbcore: allow suspend/resume even if drivers don't support it Greg Kroah-Hartman
0 siblings, 2 replies; 12+ messages in thread
From: Greg Kroah-Hartman @ 2005-12-21 22:27 UTC (permalink / raw)
To: Linus Torvalds, Andrew Morton; +Cc: linux-kernel, linux-usb-devel
Hi,
Here are 2 patches against your latest 2.6.15-git tree. They fix the
following problems:
- bugfix to allow some USB disk enclosure devices to work
properly.
- small workaround to allow suspend to continue, even if the USB
driver attached to a device does not have a suspend method
(this preserves the old behavior, and is annoying a lot of
people.)
thanks,
greg k-h
^ permalink raw reply [flat|nested] 12+ messages in thread
* [patch 1/2] USB Storage: Force starget->scsi_level in usb-storage scsiglue.c
2005-12-21 22:27 ` [patch 0/2] 2 USB patches for 2.6.15 Greg Kroah-Hartman
@ 2005-12-21 22:28 ` Greg Kroah-Hartman
2005-12-21 22:28 ` [patch 2/2] usbcore: allow suspend/resume even if drivers don't support it Greg Kroah-Hartman
1 sibling, 0 replies; 12+ messages in thread
From: Greg Kroah-Hartman @ 2005-12-21 22:28 UTC (permalink / raw)
To: Linus Torvalds, Andrew Morton
Cc: linux-kernel, paul, mdharm-usb, linux-usb-devel
From: Paul Walmsley <paul@booyaka.com>
When the usb-storage module forces sdev->scsi_level to SCSI_2, it should
also force starget->scsi_level to the same value. Otherwise, the SCSI
layer may attempt to issue SCSI-3 commands to the device, such as REPORT
LUNS, which it cannot handle. This can prevent the device from working
with Linux.
The AMS Venus DS3 DS2316SU2S SATA-to-SATA+USB enclosure, based on the
Oxford Semiconductor OXU921S chip, requires this patch to function
correctly on Linux. The enclosure reports a SCSI-3 SPC-2 command set
level, but does not correctly handle the REPORT LUNS SCSI command -
probably due to a bug in its firmware.
It seems likely that other USB storage enclosures with similar bugs will
also benefit from this patch.
Tony Lindgren <tony@atomide.com> collaborated in the development of this
patch.
Signed-off-by: Paul Walmsley <paul@booyaka.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
---
drivers/usb/storage/scsiglue.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
--- gregkh-2.6.orig/drivers/usb/storage/scsiglue.c
+++ gregkh-2.6/drivers/usb/storage/scsiglue.c
@@ -109,7 +109,7 @@ static int slave_configure(struct scsi_d
* data comes from.
*/
if (sdev->scsi_level < SCSI_2)
- sdev->scsi_level = SCSI_2;
+ sdev->scsi_level = sdev->sdev_target->scsi_level = SCSI_2;
/* According to the technical support people at Genesys Logic,
* devices using their chips have problems transferring more than
@@ -162,7 +162,7 @@ static int slave_configure(struct scsi_d
* a Get-Max-LUN request, we won't lose much by setting the
* revision level down to 2. The only devices that would be
* affected are those with sparse LUNs. */
- sdev->scsi_level = SCSI_2;
+ sdev->scsi_level = sdev->sdev_target->scsi_level = SCSI_2;
/* USB-IDE bridges tend to report SK = 0x04 (Non-recoverable
* Hardware Error) when any low-level error occurs,
^ permalink raw reply [flat|nested] 12+ messages in thread
* [patch 2/2] usbcore: allow suspend/resume even if drivers don't support it
2005-12-21 22:27 ` [patch 0/2] 2 USB patches for 2.6.15 Greg Kroah-Hartman
2005-12-21 22:28 ` [patch 1/2] USB Storage: Force starget->scsi_level in usb-storage scsiglue.c Greg Kroah-Hartman
@ 2005-12-21 22:28 ` Greg Kroah-Hartman
1 sibling, 0 replies; 12+ messages in thread
From: Greg Kroah-Hartman @ 2005-12-21 22:28 UTC (permalink / raw)
To: Linus Torvalds, Andrew Morton; +Cc: linux-kernel, linux-usb-devel, stern
From: Alan Stern <stern@rowland.harvard.edu>
This patch (as618) changes usbcore to prevent derailing the
suspend/resume sequence when a USB driver doesn't include support for
it. This is a workaround rather than a true fix; the core needs to be
changed so that URB submissions from suspended drivers can be refused
and outstanding URBs cancelled.
Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
---
drivers/usb/core/usb.c | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)
--- gregkh-2.6.orig/drivers/usb/core/usb.c
+++ gregkh-2.6/drivers/usb/core/usb.c
@@ -1432,7 +1432,8 @@ static int usb_generic_suspend(struct de
mark_quiesced(intf);
} else {
// FIXME else if there's no suspend method, disconnect...
- dev_warn(dev, "no %s?\n", "suspend");
+ dev_warn(dev, "no suspend for driver %s?\n", driver->name);
+ mark_quiesced(intf);
status = 0;
}
return status;
@@ -1460,8 +1461,10 @@ static int usb_generic_resume(struct dev
}
if ((dev->driver == NULL) ||
- (dev->driver_data == &usb_generic_driver_data))
+ (dev->driver_data == &usb_generic_driver_data)) {
+ dev->power.power_state.event = PM_EVENT_FREEZE;
return 0;
+ }
intf = to_usb_interface(dev);
driver = to_usb_driver(dev->driver);
@@ -1481,7 +1484,7 @@ static int usb_generic_resume(struct dev
mark_quiesced(intf);
}
} else
- dev_warn(dev, "no %s?\n", "resume");
+ dev_warn(dev, "no resume for driver %s?\n", driver->name);
return 0;
}
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [patch 4/4] UHCI: add missing memory barriers
2005-12-13 0:27 ` Jeff Garzik
2005-12-13 3:03 ` Greg KH
@ 2005-12-13 3:32 ` Alan Stern
1 sibling, 0 replies; 12+ messages in thread
From: Alan Stern @ 2005-12-13 3:32 UTC (permalink / raw)
To: Jeff Garzik
Cc: Greg Kroah-Hartman, Linus Torvalds, Andrew Morton, linux-kernel,
linux-usb-devel
On Mon, 12 Dec 2005, Jeff Garzik wrote:
> Greg Kroah-Hartman wrote:
> > From: Alan Stern <stern@rowland.harvard.edu>
> >
> > This patch (as617) adds a couple of memory barriers that Ben H. forgot in
> > his recent suspend/resume fix.
> >
> > Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
> > Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
> >
> > ---
> > drivers/usb/host/uhci-hcd.c | 2 ++
> > 1 file changed, 2 insertions(+)
> >
> > --- greg-2.6.orig/drivers/usb/host/uhci-hcd.c
> > +++ greg-2.6/drivers/usb/host/uhci-hcd.c
> > @@ -717,6 +717,7 @@ static int uhci_suspend(struct usb_hcd *
> > * at the source, so we must turn off PIRQ.
> > */
> > pci_write_config_word(to_pci_dev(uhci_dev(uhci)), USBLEGSUP, 0);
> > + mb();
> > clear_bit(HCD_FLAG_HW_ACCESSIBLE, &hcd->flags);
> > uhci->hc_inaccessible = 1;
> > hcd->poll_rh = 0;
> > @@ -738,6 +739,7 @@ static int uhci_resume(struct usb_hcd *h
> > * really don't want to keep a stale HCD_FLAG_HW_ACCESSIBLE=0
> > */
> > set_bit(HCD_FLAG_HW_ACCESSIBLE, &hcd->flags);
> > + mb();
>
> Are these just guesses, or what?
There's no need for sarcasm. No, they are not guesses. Ask Ben
Herrenschmidt if you don't believe me.
> Why not smp_mb__before_clear_bit() or smp_mb__after_clear_bit() ?
Because the code needs to synchronize not with another CPU, but with a USB
host controller. Those barriers are necessary even on a UP system.
By the way, what's the idea with this proliferation of little
not-all-that-helpful routines, like smp_mb__before_clear_bit()? Are there
architectures on which
smp_mb__before_clear_bit(...);
is significantly superior to
smp_mb();
clear_bit(...);
? (It's certainly not easier to type.) Is this difference worth noting,
considering how infrequently clear_bit() gets used?
Alan Stern
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [patch 4/4] UHCI: add missing memory barriers
2005-12-13 0:27 ` Jeff Garzik
@ 2005-12-13 3:03 ` Greg KH
2005-12-13 3:32 ` Alan Stern
1 sibling, 0 replies; 12+ messages in thread
From: Greg KH @ 2005-12-13 3:03 UTC (permalink / raw)
To: Jeff Garzik
Cc: Linus Torvalds, Andrew Morton, linux-kernel, linux-usb-devel, stern
On Mon, Dec 12, 2005 at 07:27:45PM -0500, Jeff Garzik wrote:
> Greg Kroah-Hartman wrote:
> >From: Alan Stern <stern@rowland.harvard.edu>
> >
> >This patch (as617) adds a couple of memory barriers that Ben H. forgot in
> >his recent suspend/resume fix.
> >
> >Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
> >Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
> >
> >---
> > drivers/usb/host/uhci-hcd.c | 2 ++
> > 1 file changed, 2 insertions(+)
> >
> >--- greg-2.6.orig/drivers/usb/host/uhci-hcd.c
> >+++ greg-2.6/drivers/usb/host/uhci-hcd.c
> >@@ -717,6 +717,7 @@ static int uhci_suspend(struct usb_hcd *
> > * at the source, so we must turn off PIRQ.
> > */
> > pci_write_config_word(to_pci_dev(uhci_dev(uhci)), USBLEGSUP, 0);
> >+ mb();
> > clear_bit(HCD_FLAG_HW_ACCESSIBLE, &hcd->flags);
> > uhci->hc_inaccessible = 1;
> > hcd->poll_rh = 0;
> >@@ -738,6 +739,7 @@ static int uhci_resume(struct usb_hcd *h
> > * really don't want to keep a stale HCD_FLAG_HW_ACCESSIBLE=0
> > */
> > set_bit(HCD_FLAG_HW_ACCESSIBLE, &hcd->flags);
> >+ mb();
>
> Are these just guesses, or what?
>
> Why not smp_mb__before_clear_bit() or smp_mb__after_clear_bit() ?
I don't know, Alan?
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [patch 4/4] UHCI: add missing memory barriers
2005-12-12 20:01 ` [patch 4/4] UHCI: add missing memory barriers Greg Kroah-Hartman
@ 2005-12-13 0:27 ` Jeff Garzik
2005-12-13 3:03 ` Greg KH
2005-12-13 3:32 ` Alan Stern
0 siblings, 2 replies; 12+ messages in thread
From: Jeff Garzik @ 2005-12-13 0:27 UTC (permalink / raw)
To: Greg Kroah-Hartman
Cc: Linus Torvalds, Andrew Morton, linux-kernel, linux-usb-devel, stern
Greg Kroah-Hartman wrote:
> From: Alan Stern <stern@rowland.harvard.edu>
>
> This patch (as617) adds a couple of memory barriers that Ben H. forgot in
> his recent suspend/resume fix.
>
> Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
>
> ---
> drivers/usb/host/uhci-hcd.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> --- greg-2.6.orig/drivers/usb/host/uhci-hcd.c
> +++ greg-2.6/drivers/usb/host/uhci-hcd.c
> @@ -717,6 +717,7 @@ static int uhci_suspend(struct usb_hcd *
> * at the source, so we must turn off PIRQ.
> */
> pci_write_config_word(to_pci_dev(uhci_dev(uhci)), USBLEGSUP, 0);
> + mb();
> clear_bit(HCD_FLAG_HW_ACCESSIBLE, &hcd->flags);
> uhci->hc_inaccessible = 1;
> hcd->poll_rh = 0;
> @@ -738,6 +739,7 @@ static int uhci_resume(struct usb_hcd *h
> * really don't want to keep a stale HCD_FLAG_HW_ACCESSIBLE=0
> */
> set_bit(HCD_FLAG_HW_ACCESSIBLE, &hcd->flags);
> + mb();
Are these just guesses, or what?
Why not smp_mb__before_clear_bit() or smp_mb__after_clear_bit() ?
Jeff
^ permalink raw reply [flat|nested] 12+ messages in thread
* [patch 4/4] UHCI: add missing memory barriers
2005-12-12 20:00 ` [patch 0/4] Small fixes for 2.6.15-rc5 Greg Kroah-Hartman
@ 2005-12-12 20:01 ` Greg Kroah-Hartman
2005-12-13 0:27 ` Jeff Garzik
0 siblings, 1 reply; 12+ messages in thread
From: Greg Kroah-Hartman @ 2005-12-12 20:01 UTC (permalink / raw)
To: Linus Torvalds, Andrew Morton; +Cc: linux-kernel, linux-usb-devel, stern
[-- Attachment #1: uhci-add-missing-memory-barriers.patch --]
[-- Type: text/plain, Size: 965 bytes --]
From: Alan Stern <stern@rowland.harvard.edu>
This patch (as617) adds a couple of memory barriers that Ben H. forgot in
his recent suspend/resume fix.
Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
---
drivers/usb/host/uhci-hcd.c | 2 ++
1 file changed, 2 insertions(+)
--- greg-2.6.orig/drivers/usb/host/uhci-hcd.c
+++ greg-2.6/drivers/usb/host/uhci-hcd.c
@@ -717,6 +717,7 @@ static int uhci_suspend(struct usb_hcd *
* at the source, so we must turn off PIRQ.
*/
pci_write_config_word(to_pci_dev(uhci_dev(uhci)), USBLEGSUP, 0);
+ mb();
clear_bit(HCD_FLAG_HW_ACCESSIBLE, &hcd->flags);
uhci->hc_inaccessible = 1;
hcd->poll_rh = 0;
@@ -738,6 +739,7 @@ static int uhci_resume(struct usb_hcd *h
* really don't want to keep a stale HCD_FLAG_HW_ACCESSIBLE=0
*/
set_bit(HCD_FLAG_HW_ACCESSIBLE, &hcd->flags);
+ mb();
if (uhci->rh_state == UHCI_RH_RESET) /* Dead */
return 0;
--
^ permalink raw reply [flat|nested] 12+ messages in thread
end of thread, other threads:[~2005-12-21 22:28 UTC | newest]
Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
[not found] <20051216185442.633779000@press.kroah.org>
2005-12-16 19:08 ` [patch 0/4] 4 patches for 2.6.15 Greg Kroah-Hartman
2005-12-16 19:08 ` [patch 1/4] i2c: Fix i2c-mv64xxx compilation error Greg Kroah-Hartman
2005-12-16 19:08 ` [patch 2/4] PCI express must be initialized before PCI hotplug Greg Kroah-Hartman
2005-12-16 19:08 ` [patch 3/4] PCI: Fix dumb bug in mmconfig fix Greg Kroah-Hartman
2005-12-16 19:09 ` [patch 4/4] UHCI: add missing memory barriers Greg Kroah-Hartman
2005-12-21 22:27 ` [patch 0/2] 2 USB patches for 2.6.15 Greg Kroah-Hartman
2005-12-21 22:28 ` [patch 1/2] USB Storage: Force starget->scsi_level in usb-storage scsiglue.c Greg Kroah-Hartman
2005-12-21 22:28 ` [patch 2/2] usbcore: allow suspend/resume even if drivers don't support it Greg Kroah-Hartman
[not found] <20051212192030.873030000@press.kroah.org>
2005-12-12 20:00 ` [patch 0/4] Small fixes for 2.6.15-rc5 Greg Kroah-Hartman
2005-12-12 20:01 ` [patch 4/4] UHCI: add missing memory barriers Greg Kroah-Hartman
2005-12-13 0:27 ` Jeff Garzik
2005-12-13 3:03 ` Greg KH
2005-12-13 3:32 ` Alan Stern
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).