On Tue, 2006-12-12 at 13:04 -0500, Jeff Garzik wrote:
> Alan wrote:
> > On Tue, 12 Dec 2006 10:39:02 -0600
> > Steve Wise <swise@xxxxxxxxxxxxxxxxxxxxx> wrote:
> >
> >> All,
> >>
> >> Bisecting reveals that this commit causes the problem:
> >
> > Yes we know. There is a libata patch missing. As I said - if it is still
> > missing by -rc1 I'll sort out a diff.
>
> What's the patch? Message-id? I don't have anything from you in my
> patch queue.
>
> Jeff
>
>
>
I dug up the patch below from here:
http://marc.theaimsgroup.com/?l=linux-kernel&m=116343564202844&q=raw
This patch fixes my problem, and I don't think its in Linus's tree at
this point.
Steve.
diff --git a/drivers/ata/libata-sff.c b/drivers/ata/libata-sff.c
index 10ee22a..40a2bfa 100644
--- a/drivers/ata/libata-sff.c
+++ b/drivers/ata/libata-sff.c
@@ -1027,13 +1027,13 @@ #if defined(CONFIG_NO_ATA_LEGACY)
#endif
}
- rc = pci_request_regions(pdev, DRV_NAME);
- if (rc) {
- disable_dev_on_err = 0;
- goto err_out;
- }
-
- if (legacy_mode) {
+ if (!legacy_mode) {
+ rc = pci_request_regions(pdev, DRV_NAME);
+ if (rc) {
+ disable_dev_on_err = 0;
+ goto err_out;
+ }
+ } else {
if (!request_region(ATA_PRIMARY_CMD, 8, "libata")) {
struct resource *conflict, res;
res.start = ATA_PRIMARY_CMD;