From: Jeff Garzik <jgarzik@pobox.com>
To: "Justin T. Gibbs" <gibbs@scsiguy.com>
Cc: Konstantin Kletschke <konsti@ludenkalle.de>,
linux-kernel@vger.kernel.org
Subject: Re: Quick aic7xxx bug hunt...
Date: Mon, 23 Sep 2002 19:22:18 -0400 [thread overview]
Message-ID: <3D8FA22A.6050104@pobox.com> (raw)
In-Reply-To: 2687750816.1032821710@aslan.btc.adaptec.com
Justin T. Gibbs wrote:
>>>For all of these delays, I'd be more than happy to make them all into
>>>sleeps if I can tell, from inside ahc_delay() if I'm in a context where
>>>it is safe to sleep. On the other platforms that this core code runs on
>>>I'm usually not in a context where it is safe to sleep, so I don't want
>>>to switch to using a different driver primitive.
>>
>>For Linux it's unconditionally safe, and other platforms is sounds like
>>it's unconditionally not. So, s/ahc_delay/ahc_sleep/ for the places I
>>pointed out, and just make ahc_delay==ahc_sleep on non-Linux platforms
>>(or any similarly-functioning solution)
>
>
> So you can sleep while in an interrupt context? I didn't know that
> 2.5 had switched to using interrupt threads or some similar construct.
Of course not :)
ahc_reset
aic7770_config -> can sleep
ahc_pci_config -> can sleep
ahc_shutdown -> can't sleep, whoops
ahc_resume -> dead code
ahc_init
aic7770_config -> can sleep
ahc_pci_config -> can sleep
ahc_acquire_seeprom
check_extport -> can sleep
ahc_proc_write_seeprom -> can sleep
so, ahc_init and ahc_acquire_seeprom can s/ahc_delay/ahc_sleep/ safely.
Oh, and I found another bug: never use check_region, it's inherently
racy. Use request_region and check its return value.
Note I agree with a comment in the code, that wrapping SHT->detect() in
io_request_lock is silly... the comment describing the rationale in
drivers/scsi/scsi.c is not really accurate...
Jeff
next prev parent reply other threads:[~2002-09-23 23:17 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-09-23 18:00 2.4.20-pre7-ac3 aic7xxx broken? Konstantin Kletschke
2002-09-23 19:15 ` Justin T. Gibbs
2002-09-23 21:27 ` Quick aic7xxx bug hunt Jeff Garzik
2002-09-23 21:54 ` Justin T. Gibbs
2002-09-23 22:18 ` Jeff Garzik
2002-09-23 22:44 ` Justin T. Gibbs
2002-09-23 22:50 ` Jeff Garzik
2002-09-23 22:55 ` Justin T. Gibbs
2002-09-23 23:22 ` Jeff Garzik [this message]
2002-09-23 23:28 ` Jeff Garzik
2002-09-23 7:44 ` Benjamin Herrenschmidt
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=3D8FA22A.6050104@pobox.com \
--to=jgarzik@pobox.com \
--cc=gibbs@scsiguy.com \
--cc=konsti@ludenkalle.de \
--cc=linux-kernel@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.