Commit 02114f71 authored by Martin Dalecki's avatar Martin Dalecki Committed by Linus Torvalds

[PATCH] IDE-101

Here is a quick fix.  I would like to synchronize with the irq handler
changes as well.  Becouse right now I know that preemption is killing
the disk subsystem when moving data between disks using different
request queues...  In esp.  It get's me in to do_request() with a queue
in unplugged state.  (Not everything is my fault, after all :-).
parent 10f024fd
......@@ -194,22 +194,16 @@ int ide_raw_taskfile(struct ata_device *drive, struct ata_taskfile *ar, char *bu
request_queue_t *q = &drive->queue;
struct list_head *queue_head = &q->queue_head;
DECLARE_COMPLETION(wait);
struct request req;
#ifdef CONFIG_BLK_DEV_PDC4030
if (ch->chipset == ide_pdc4030 && buf)
return -ENOSYS; /* special drive cmds not supported */
#endif
rq = __blk_get_request(&drive->queue, READ);
if (!rq)
rq = __blk_get_request(&drive->queue, WRITE);
/*
* FIXME: Make sure there is a free slot on the list!
*/
BUG_ON(!rq);
memset(&req, 0, sizeof(req));
rq = &req;
rq->flags = REQ_SPECIAL;
rq->buffer = buf;
rq->special = ar;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment