From: Arnaud Patard <apatard@mandriva.com>
To: Tejun Heo <htejun@gmail.com>
Cc: linux-ide@vger.kernel.org
Subject: Re: [PATCH] Fix libata resource conflict for legacy mode
Date: Mon, 18 Sep 2006 17:02:57 +0200 [thread overview]
Message-ID: <m3zmcxgqu6.fsf@anduin.mandriva.com> (raw)
In-Reply-To: <450EA3BA.8010100@gmail.com> (Tejun Heo's message of "Mon, 18 Sep 2006 22:48:42 +0900")
[-- Attachment #1: Type: text/plain, Size: 1045 bytes --]
Tejun Heo <htejun@gmail.com> writes:
> Hello,
Hi,
>> Index: linux-2.6/drivers/scsi/libata-bmdma.c
>> ===================================================================
>> --- linux-2.6.orig/drivers/scsi/libata-bmdma.c
>> +++ linux-2.6/drivers/scsi/libata-bmdma.c
>> @@ -1016,10 +1016,13 @@ int ata_pci_init_one (struct pci_dev *pd
>> res.start = 0x1f0;
>> res.end = 0x1f0 + 8 - 1;
>> conflict = ____request_resource(&ioport_resource, &res);
>> + if (conflict->child)
>> + conflict = ____request_resource(conflict,&res);
>
> IMHO, having something which is slightly more generic would be better -
> e.g. looping till no child.
Ok. Done in the attached patch.
>
>> if (!strcmp(conflict->name, "libata"))
>> legacy_mode |= (1 << 0);
>> else {
>> disable_dev_on_err = 0;
>> + printk(KERN_WARNING "ata: conflict with %s\n",conflict->name);
>> printk(KERN_WARNING "ata: 0x1f0 IDE port busy\n");
>
> Please merge two printks into one. Other than that, I think printing
Fixed too.
Regards,
Arnaud
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 2618git_libata_vs_pnp.patch --]
[-- Type: text/x-patch, Size: 1790 bytes --]
When the libata is trying to handle legacy ide ports (0x1f0 for instance), it
doesn't take care if the resource has childs or not.
The result is that this situation :
0100-01fe : pnp 00:09
0170-0177 : libata
01f0-01f7 : libata
is seen as conflict, which is wrong.
The proposed fix is to detect childs and in this case, look at which child is
conflicting.
Signed-off-by: Arnaud Patard <apatard@mandriva.com>
---
Index: linux-2.6/drivers/scsi/libata-bmdma.c
===================================================================
--- linux-2.6.orig/drivers/scsi/libata-bmdma.c
+++ linux-2.6/drivers/scsi/libata-bmdma.c
@@ -1016,11 +1016,14 @@ int ata_pci_init_one (struct pci_dev *pd
res.start = 0x1f0;
res.end = 0x1f0 + 8 - 1;
conflict = ____request_resource(&ioport_resource, &res);
+ while (conflict->child)
+ conflict = ____request_resource(conflict, &res);
if (!strcmp(conflict->name, "libata"))
legacy_mode |= (1 << 0);
else {
disable_dev_on_err = 0;
- printk(KERN_WARNING "ata: 0x1f0 IDE port busy\n");
+ printk(KERN_WARNING "ata: 0x1f0 IDE port busy\n" \
+ "ata: conflict with %s\n", conflict->name);
}
} else
legacy_mode |= (1 << 0);
@@ -1030,11 +1033,14 @@ int ata_pci_init_one (struct pci_dev *pd
res.start = 0x170;
res.end = 0x170 + 8 - 1;
conflict = ____request_resource(&ioport_resource, &res);
+ while (conflict->child)
+ conflict = ____request_resource(conflict, &res);
if (!strcmp(conflict->name, "libata"))
legacy_mode |= (1 << 1);
else {
disable_dev_on_err = 0;
- printk(KERN_WARNING "ata: 0x170 IDE port busy\n");
+ printk(KERN_WARNING "ata: 0x170 IDE port busy\n" \
+ "ata: conflict with %s\n", conflict->name);
}
} else
legacy_mode |= (1 << 1);
next prev parent reply other threads:[~2006-09-18 14:52 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-09-18 13:16 [PATCH] Fix libata resource conflict for legacy mode Arnaud Patard
2006-09-18 13:48 ` Tejun Heo
2006-09-18 15:02 ` Arnaud Patard [this message]
2006-09-18 16:17 ` Tejun Heo
2006-09-19 4:27 ` Jeff Garzik
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=m3zmcxgqu6.fsf@anduin.mandriva.com \
--to=apatard@mandriva.com \
--cc=htejun@gmail.com \
--cc=linux-ide@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).