Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 1 Mar 2006 18:36:43 +0000 (UTC)
From:      Søren Schmidt <sos@FreeBSD.org>
To:        src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org
Subject:   cvs commit: src/sys/dev/ata ata-all.c ata-all.h ata-chipset.c ata-queue.c
Message-ID:  <200603011836.k21Iah7e057286@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
sos         2006-03-01 18:36:43 UTC

  FreeBSD src repository

  Modified files:        (Branch: RELENG_6)
    sys/dev/ata          ata-all.c ata-all.h ata-chipset.c 
                         ata-queue.c 
  Log:
  MFC:
  Keep the parent device (in this case the channel) around in ata_request,
  so we dont panic device removal or failure.
  Clean up ata_fail_requests to prevent the queue munging to fail.
  Fix ata_reinit so it does things in the right order to prevent panic's.
  Lock the channel so master/slave setups wont trash during reinit.
  Work around the deadlock that occours when ATA waits for the taskqueue
  to call back for completition and something else is holding the taskqueue
  waiting for ATA to return data.
  This should clear up the "semaphore timeout !! DANGER Will Robinson !!"
  in most situations, and log "taskqueue timeout - completing request directly"
  instead, with a delayed "WARNING - freeing taskqueue zombie request" when
  the taskqueue finally calls us back with the now stale request.
  (It would have been nice if there was a way to remove a scheduled item from
  the taskqueue finally calls us back with the now stale request.
  
  Approved by:    re@ (scottl)
  
  Revision    Changes    Path
  1.252.2.6   +31 -37    src/sys/dev/ata/ata-all.c
  1.103.2.6   +7 -2      src/sys/dev/ata/ata-all.h
  1.126.2.10  +0 -1      src/sys/dev/ata/ata-chipset.c
  1.50.2.3    +41 -23    src/sys/dev/ata/ata-queue.c



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200603011836.k21Iah7e057286>