From: Jens Axboe <axboe@suse.de>
To: Carl Ritson <critson@perlfu.co.uk>
Cc: linux-kernel@vger.kernel.org
Subject: Re: OOPS: 2.5.1-pre8 - cdrecord + ide_scsi
Date: Tue, 11 Dec 2001 15:28:31 +0100 [thread overview]
Message-ID: <20011211142831.GV13498@suse.de> (raw)
In-Reply-To: <20011209135825.GN20061@suse.de> <Pine.LNX.4.33.0112091524320.1163-100000@eden.lincnet> <20011209153820.GE28729@suse.de>
In-Reply-To: <20011209153820.GE28729@suse.de>
[-- Attachment #1: Type: text/plain, Size: 695 bytes --]
On Sun, Dec 09 2001, Jens Axboe wrote:
> > Ok works with DMA off, so I expect that this new error is due to my resent
> > memory upgrade (36 Hours ago) and the switch to using HIGHMEM(4GB)..
> > So am I to believe that DMA is a problem with HIGHMEM(4GB) enabled ?
>
> No it's probably still an ide-scsi bug, I'm not suspecting your
> hardware. The reason I ask is because until -pre8 (since bio merge in
> -pre2), ide-scsi never used DMA even though it was set for the drive.
Ok finally had a chance to look some more at this -- it was a bit more
hairy than I had hoped. Please try this ide-scsi one liner, it should
cure it. (the bug fix is the bio->bi_vcnt = 1 change only)
--
Jens Axboe
[-- Attachment #2: ide-scsi-dma-1 --]
[-- Type: text/plain, Size: 1226 bytes --]
--- /opt/kernel/linux-2.5.1-pre9/drivers/scsi/ide-scsi.c Tue Dec 11 05:01:51 2001
+++ linux/drivers/scsi/ide-scsi.c Tue Dec 11 09:24:14 2001
@@ -261,7 +261,7 @@
ide_drive_t *drive = hwgroup->drive;
idescsi_scsi_t *scsi = drive->driver_data;
struct request *rq = hwgroup->rq;
- idescsi_pc_t *pc = (idescsi_pc_t *) rq->buffer;
+ idescsi_pc_t *pc = (idescsi_pc_t *) rq->special;
int log = test_bit(IDESCSI_LOG_CMD, &scsi->log);
struct Scsi_Host *host;
u8 *scsi_buf;
@@ -464,7 +464,7 @@
#endif /* IDESCSI_DEBUG_LOG */
if (rq->flags & REQ_SPECIAL) {
- return idescsi_issue_pc (drive, (idescsi_pc_t *) rq->buffer);
+ return idescsi_issue_pc (drive, (idescsi_pc_t *) rq->special);
}
blk_dump_rq_flags(rq, "ide-scsi: unsup command");
idescsi_end_request (0,HWGROUP (drive));
@@ -662,6 +662,7 @@
if ((first_bh = bhp = bh = bio_alloc(GFP_ATOMIC, 1)) == NULL)
goto abort;
bio_init(bh);
+ bh->bi_vcnt = 1;
while (--count) {
if ((bh = bio_alloc(GFP_ATOMIC, 1)) == NULL)
goto abort;
@@ -802,7 +803,7 @@
}
ide_init_drive_cmd (rq);
- rq->buffer = (char *) pc;
+ rq->special = (char *) pc;
rq->bio = idescsi_dma_bio (drive, pc);
rq->flags = REQ_SPECIAL;
spin_unlock(&cmd->host->host_lock);
next prev parent reply other threads:[~2001-12-11 14:29 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2001-12-09 9:26 OOPS: 2.5.1-pre8 - cdrecord + ide_scsi Carl Ritson
2001-12-09 10:22 ` Jens Axboe
2001-12-09 10:31 ` Jens Axboe
2001-12-09 13:52 ` Carl Ritson
2001-12-09 13:58 ` Jens Axboe
2001-12-09 15:35 ` Carl Ritson
2001-12-09 15:38 ` Jens Axboe
2001-12-11 14:28 ` Jens Axboe [this message]
2001-12-12 8:02 ` Carl Ritson
2001-12-12 9:38 ` Jens Axboe
2001-12-15 0:06 ` Andre Hedrick
2001-12-15 10:13 ` Jens Axboe
-- strict thread matches above, loose matches on Subject: below --
2001-12-15 15:03 Thomas Hood
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=20011211142831.GV13498@suse.de \
--to=axboe@suse.de \
--cc=critson@perlfu.co.uk \
--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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox