On Wed, Mar 12, 2008 at 02:51:23PM +0100, Bartlomiej Zolnierkiewicz wrote: > > Hi, > > On Wednesday 12 March 2008, Borislav Petkov wrote: > > [...] > > > > > the read request's buffer directly thru idetape_queue_rw_tail() > > > > > > > > 3. Do next request buffer allocation (tape->merge_stage) > > > > > > Isn't idetape_init_read() taking care of 3.? > > > > i wanted to have the whole handling at one place and let _init_read() only > > prepare the read. Now we don't allocate any new tape->merge_stage anymore, > > which is wrong. Originally, this happened in _init_read(), however, if we do > > idetape_queue_rw_tail(), we should alloc the new stage _after_ queueing the > > The original driver doesn't do this - it just calls idetape_queue_rw_tail(), > could it be a bug in the original driver? Damn, i see it now, idetape_queue_rw_tail() queues the request and then simply _reuses_ the tape->merge_stage buffer by doing if (tape->merge_stage) idetape_init_merge_stage(tape); so no need for reallocation. Whew! :) -- Regards/Gruß, Boris. -- To unsubscribe from this list: send the line "unsubscribe linux-ide" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html