public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* Re: [PATCH] IDE TCQ #4
@ 2002-04-15 19:28 Petr Vandrovec
  2002-04-16 10:25 ` Jens Axboe
  0 siblings, 1 reply; 7+ messages in thread
From: Petr Vandrovec @ 2002-04-15 19:28 UTC (permalink / raw)
  To: axboe; +Cc: linux-kernel

On 15 Apr 02 at 21:11, Petr Vandrovec wrote:
> On 15 Apr 02 at 21:00, Jens Axboe wrote:
> > > 
> > > NULL pointer ...
> > 
> > Could you decode that? It doesn't look like any of your drives support
> > TCQ, it should have enabled them right here:
> 
> They were already decoded... Also others reported that - after accessing
> /proc/ide/ide0/hda/identify system dies... I believe that passing
> hand-created request to ide_raw_taskfile corrupts drive->free_req,
> and so subsequent drive command after this cat finds that 
> drive->free_req.next is NULL and dies.

ide_raw_taskfile() sets rq.special to &ar - and &ar is on the stack,
in this function. Later it falls through to __ide_end_request(), which
does

  ar = rq->special;
  ...
  if (ar)
    ata_ar_put(drive, ar);
    
which adds this ar into drive's free_req chain unconditionally. Maybe 
ata_ar_put should check for ar_queue validity. And where ar_queue
member is initialized (or at least cleared) in this case at all?

Unfortunately here my knowledge ends.
                                                Petr Vandrovec
                                                vandrove@vc.cvut.cz
                                                

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2002-04-19 17:30 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2002-04-15 19:28 [PATCH] IDE TCQ #4 Petr Vandrovec
2002-04-16 10:25 ` Jens Axboe
2002-04-16 10:39   ` USB-Mouse-Bug in 2.4.16-8 ? mtopper
2002-04-19 16:28     ` Greg KH
2002-04-16 11:01   ` [PATCH] IDE TCQ #4 Martin Dalecki
2002-04-16 12:28     ` Jens Axboe
2002-04-16 11:44       ` Martin Dalecki

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox