public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Vojtech Pavlik <vojtech@suse.cz>
To: Linus Torvalds <torvalds@osdl.org>
Cc: Miguel <frankpoole@terra.es>, Andrew Morton <akpm@osdl.org>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>
Subject: Re: PCI bug in 2.6.13
Date: Sun, 11 Sep 2005 10:53:12 +0200	[thread overview]
Message-ID: <20050911085312.GA13732@midnight.suse.cz> (raw)
In-Reply-To: <Pine.LNX.4.58.0509101817590.3314@g5.osdl.org>

On Sat, Sep 10, 2005 at 06:41:01PM -0700, Linus Torvalds wrote:

> It looks like your HPT controller.
> 
> 	 00:0b.0 Mass storage controller: Triones Technologies, Inc. HPT366/368/370/370A/372/372N (rev 04)
> 	 ...
> 	-30: 01 00 00 40 60 00 00 00 00 00 00 00 0b 01 08 08
> 	+30: 01 00 00 00 60 00 00 00 00 00 00 00 0b 01 08 08
> 
> That's a _really_ bad value. It's "enabled" (low bit set) but at address 
> zero in the bad case. 
> 
> My problem is that I don't see what writes that invalid enable bit. The 
> patch that broke things for you explicitly avoids writing any value at 
> _all_, much less one with the rom enabled bit set (in fact, if the enabled 
> bit had been set, the patch wouldn't have made any difference at all for 
> you).
> 
> The HPT driver does some strange things:
> 
>         /* FIXME: Not portable */
>         if (dev->resource[PCI_ROM_RESOURCE].start)
>                 pci_write_config_byte(dev, PCI_ROM_ADDRESS,
>                         dev->resource[PCI_ROM_RESOURCE].start | PCI_ROM_ADDRESS_ENABLE);
> 
> but that one too _explicitly_ only does so for non-zero resource start
> values. But something clearly wrote 00000001 to your ROM address..

This is interesting. The 0x00000001 means that it's supposed to be an
unassigned I/O (!) space resource ... which obviously fools the if()
statement.


-- 
Vojtech Pavlik
SuSE Labs, SuSE CR

  reply	other threads:[~2005-09-11  8:52 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-09-09 16:04 PCI bug in 2.6.13 Miguel
2005-09-10  5:59 ` Andrew Morton
2005-09-10  9:36   ` Miguel
2005-09-10 16:51     ` Linus Torvalds
2005-09-10 21:06       ` Linus Torvalds
2005-09-11  1:08         ` Miguel
2005-09-11  1:41           ` Linus Torvalds
2005-09-11  8:53             ` Vojtech Pavlik [this message]
2005-09-11 11:54               ` Linus Torvalds
2005-09-11 14:10             ` Miguel
2005-09-11 16:08               ` Linus Torvalds
2005-09-11 16:30                 ` Jeff Garzik
2005-09-11 17:15                 ` Miguel
2005-09-11 17:59                   ` Linus Torvalds
2005-09-12 17:20                 ` Alan Cox

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=20050911085312.GA13732@midnight.suse.cz \
    --to=vojtech@suse.cz \
    --cc=akpm@osdl.org \
    --cc=frankpoole@terra.es \
    --cc=linux-kernel@vger.kernel.org \
    --cc=torvalds@osdl.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