Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 16 Jan 2006 18:57:44 -0500
From:      Brian Fundakowski Feldman <green@FreeBSD.org>
To:        Ian Dowse <iedowse@FreeBSD.org>
Cc:        cvs-src@FreeBSD.org, src-committers@FreeBSD.org, cvs-all@FreeBSD.org
Subject:   Re: cvs commit: src/sys/cam cam_xpt.c
Message-ID:  <20060116235744.GH27794@green.homeunix.org>
In-Reply-To: <200601110206.k0B2699N020079@repoman.freebsd.org>
References:  <200601110206.k0B2699N020079@repoman.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, Jan 11, 2006 at 02:06:09AM +0000, Ian Dowse wrote:
> iedowse     2006-01-11 02:06:09 UTC
> 
>   FreeBSD src repository
> 
>   Modified files:
>     sys/cam              cam_xpt.c 
>   Log:
>   When deregistering a bus, attempt to flush out all outstanding
>   operations before returning. Point the bus at a dummy cam_sim
>   structure so that any CCBs will complete immediately with a
>   CAM_DEV_NOT_THERE status, and ensure that any xpt_schedule() calls
>   on the bus's devices will immediately call the peripheral's
>   periph_start() routine. Also repeat the async messages because
>   devices that were part of the way through being probed may appear
>   after the original AC_LOST_DEVICE was sent, and would otherwise
>   never go away.
>   
>   These changes make it possible to deregister a bus and free the SIM
>   at most stages during bus probing without the usual crashes in
>   camisr(). In particular, plugging in a umass device and then
>   unplugging it as soon as the first probe messages appeared would
>   almost always result in a crash. Now the device just goes away with
>   a few CAM errors and all references to the CAM bus, target and
>   device are dropped correctly.

Good job -- thankless work to fix these kinds of problems but so nice to
have fixed once and for all after they happen to you the umpteenth time.

-- 
Brian Fundakowski Feldman                           \'[ FreeBSD ]''''''''''\
  <> green@FreeBSD.org                               \  The Power to Serve! \
 Opinions expressed are my own.                       \,,,,,,,,,,,,,,,,,,,,,,\



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