From: Jens Axboe <axboe@suse.de>
To: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Cc: Tejun Heo <htejun@gmail.com>,
linux-kernel@vger.kernel.org, linux-ide@vger.kernel.org
Subject: Re: [PATCH ide-dev-2.6] ide: ide_dma_intr oops fix
Date: Thu, 3 Mar 2005 09:05:19 +0100 [thread overview]
Message-ID: <20050303080519.GE19505@suse.de> (raw)
In-Reply-To: <58cb370e050303000478119a22@mail.gmail.com>
On Thu, Mar 03 2005, Bartlomiej Zolnierkiewicz wrote:
> On Thu, 03 Mar 2005 15:57:18 +0900, Tejun Heo <htejun@gmail.com> wrote:
> > Hello, Jens.
> >
> > Jens Axboe wrote:
> > > On Thu, Mar 03 2005, Tejun Heo wrote:
> > >
> > >> Hello, Bartlomiej.
> > >>
> > >> This patch fixes ide_dma_intr() oops which occurs for TASKFILE ioctl
> > >>using DMA dataphses. This is against the latest ide-dev-2.6 tree +
> > >>all your recent 9 patches.
> > >>
> > >> Signed-off-by: Tejun Heo <htejun@gmail.com>
> > >>
> > >>Index: linux-taskfile-ng/drivers/ide/ide-dma.c
> > >>===================================================================
> > >>--- linux-taskfile-ng.orig/drivers/ide/ide-dma.c 2005-03-03 11:59:16.485582413 +0900
> > >>+++ linux-taskfile-ng/drivers/ide/ide-dma.c 2005-03-03 12:00:07.753376048 +0900
> > >>@@ -175,10 +175,14 @@ ide_startstop_t ide_dma_intr (ide_drive_
> > >> if (OK_STAT(stat,DRIVE_READY,drive->bad_wstat|DRQ_STAT)) {
> > >> if (!dma_stat) {
> > >> struct request *rq = HWGROUP(drive)->rq;
> > >>- ide_driver_t *drv;
> > >>
> > >>- drv = *(ide_driver_t **)rq->rq_disk->private_data;;
> > >>- drv->end_request(drive, 1, rq->nr_sectors);
> > >>+ if (rq->rq_disk) {
> > >>+ ide_driver_t *drv;
> > >>+
> > >>+ drv = *(ide_driver_t **)rq->rq_disk->private_data;;
> > >>+ drv->end_request(drive, 1, rq->nr_sectors);
> > >>+ } else
> > >>+ ide_end_request(drive, 1, rq->nr_sectors);
> > >> return ide_stopped;
> > >> }
> > >> printk(KERN_ERR "%s: dma_intr: bad DMA status (dma_stat=%x)\n",
> > >
> > > Why not just set rq_disk for taskfile requests as well, seems a lot
> > > cleaner than special casing the end_request handling.
> >
> > Just because other places were fixed this way and the whole drive
> > command issue/completion codes are just about to be restructured. Above
> > code will go away soon. Please consider it a quick fix.
> >
> > Thanks.
>
> Because struct gendisk is now allocated by device drivers (like in SCSI
> subsystem) rq_disk can't be set for REQ_DRIVE_TASKFILE requests
> (for some requests it can be set but better to keep it consistent).
Seems cleaner to store the driver in the drive structure then, no
special casing needed.
--
Jens Axboe
next prev parent reply other threads:[~2005-03-03 8:05 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-03-03 3:03 [PATCH ide-dev-2.6] ide: ide_dma_intr oops fix Tejun Heo
2005-03-03 6:49 ` Jens Axboe
2005-03-03 6:57 ` Tejun Heo
2005-03-03 8:04 ` Bartlomiej Zolnierkiewicz
2005-03-03 8:05 ` Jens Axboe [this message]
2005-03-03 8:14 ` Bartlomiej Zolnierkiewicz
2005-03-03 8:20 ` Jens Axboe
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=20050303080519.GE19505@suse.de \
--to=axboe@suse.de \
--cc=bzolnier@gmail.com \
--cc=htejun@gmail.com \
--cc=linux-ide@vger.kernel.org \
--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.