* [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; 8+ 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] 8+ 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; 8+ 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] 8+ 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; 8+ 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] 8+ 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; 8+ 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] 8+ 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; 8+ 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] 8+ 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; 8+ 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] 8+ 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; 8+ 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] 8+ 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; 8+ 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] 8+ messages in thread
end of thread, other threads:[~2005-12-21 22:28 UTC | newest]
Thread overview: 8+ 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
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).