<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src-test2/sys/cam/cam_xpt.c, branch release/8.4.0</title>
<subtitle>FreeBSD source tree</subtitle>
<id>https://cgit-dev.freebsd.org/src-test2/atom?h=release%2F8.4.0</id>
<link rel='self' href='https://cgit-dev.freebsd.org/src-test2/atom?h=release%2F8.4.0'/>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/'/>
<updated>2013-02-06T18:41:12Z</updated>
<entry>
<title>MFC r242175:</title>
<updated>2013-02-06T18:41:12Z</updated>
<author>
<name>Alexander Motin</name>
<email>mav@FreeBSD.org</email>
</author>
<published>2013-02-06T18:41:12Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=147c0c8fb640a7eea5ff32d283f21c960bb2a9df'/>
<id>urn:sha1:147c0c8fb640a7eea5ff32d283f21c960bb2a9df</id>
<content type='text'>
Remove priority enforcement from xpt_ation().  It is not good and even not
safe in some cases to reduce CCB priority after it was scheduled with high
priority.  This fixes reproducible deadlock when command sent through the
pass interface while ATA XPT recovers from command timeout.

Instead of that enforce priority at passioctl().  libcam provides no obvious
interface to specify CCB priority and so much (all?) code specifies zero
(highest) priority.  This change limits pass CCBs priority to NORMAL run
level, allowing XPT to complete bus and device recovery after reset before
running any payload.
</content>
</entry>
<entry>
<title>MFC r237398:</title>
<updated>2012-06-27T11:04:04Z</updated>
<author>
<name>Alexander Motin</name>
<email>mav@FreeBSD.org</email>
</author>
<published>2012-06-27T11:04:04Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=a758cb42850f9e5f1ba57166f2052264a80245eb'/>
<id>urn:sha1:a758cb42850f9e5f1ba57166f2052264a80245eb</id>
<content type='text'>
In camisr() clear CAM_SIM_ON_DONEQ flag after camisr_runqueue() purged SIM
done queue. Clearing it before caused extra SIM queueing in some cases.
It was invisible during normal operation, but during USB device unplug and
respective SIM destruction it could keep pointer on SIM without having
counted reference and as result crash the system by use afer free.

PR:             usb/168743
</content>
</entry>
<entry>
<title>MFC r236713:</title>
<updated>2012-06-20T14:47:39Z</updated>
<author>
<name>Alexander Motin</name>
<email>mav@FreeBSD.org</email>
</author>
<published>2012-06-20T14:47:39Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=a6fd194e3e704800ec90ab5b8bb260484a6f90a1'/>
<id>urn:sha1:a6fd194e3e704800ec90ab5b8bb260484a6f90a1</id>
<content type='text'>
Add CAM_DEBUG_INFO debug messages for periph created/invalidated/destroyed
and for asyncs sent.
</content>
</entry>
<entry>
<title>MFC r236712:</title>
<updated>2012-06-20T14:39:35Z</updated>
<author>
<name>Alexander Motin</name>
<email>mav@FreeBSD.org</email>
</author>
<published>2012-06-20T14:39:35Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=3c2606b31a02ae4fb4fb95838690a10bd9d24aa3'/>
<id>urn:sha1:3c2606b31a02ae4fb4fb95838690a10bd9d24aa3</id>
<content type='text'>
To make CAM debugging easier, compile in some debug flags (CAM_DEBUG_INFO,
CAM_DEBUG_CDB, CAM_DEBUG_PERIPH and CAM_DEBUG_PROBE) by default.
List of these flags can be modified with CAM_DEBUG_COMPILE kernel option.
CAMDEBUG kernel option still enables all possible debug, if not overriden.

Additional 50KB of kernel size is a good price for the ability to debug
problems without rebuilding the kernel. In case where size is important,
debugging can be compiled out by setting CAM_DEBUG_COMPILE option to 0.
</content>
</entry>
<entry>
<title>MFC r236605:</title>
<updated>2012-06-20T13:42:40Z</updated>
<author>
<name>Alexander Motin</name>
<email>mav@FreeBSD.org</email>
</author>
<published>2012-06-20T13:42:40Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=76c1a3b87404cf24079e80f7ced30dea0e5160a5'/>
<id>urn:sha1:76c1a3b87404cf24079e80f7ced30dea0e5160a5</id>
<content type='text'>
Replace #ifdef CAMDEBUG + if + panic() with single KASSERT().
</content>
</entry>
<entry>
<title>MFC r224806i (by mjacob):</title>
<updated>2012-06-09T08:51:25Z</updated>
<author>
<name>Alexander Motin</name>
<email>mav@FreeBSD.org</email>
</author>
<published>2012-06-09T08:51:25Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=41b711081f73f004b2197dcb76bf3ea9d30d24e2'/>
<id>urn:sha1:41b711081f73f004b2197dcb76bf3ea9d30d24e2</id>
<content type='text'>
Fixes for sure bus reference miscounting and potential device and
target reference miscounts.  It also adds a helper function to get
the current reference counts for components of cam_path for debug
aid.  One minor style(9) change.
</content>
</entry>
<entry>
<title>MFC r236437:</title>
<updated>2012-06-09T07:44:51Z</updated>
<author>
<name>Alexander Motin</name>
<email>mav@FreeBSD.org</email>
</author>
<published>2012-06-09T07:44:51Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=cd43a2268e35edafcf5d7abc39a853ac95df872f'/>
<id>urn:sha1:cd43a2268e35edafcf5d7abc39a853ac95df872f</id>
<content type='text'>
Rewrite enabling NCQ for SATA devices in a way more alike to SCSI TCQ.
This allows to control it with `camcontrol negotiate adaX -T (en|dis)able`
on the fly, same as for SCSI devices.

Sponsored by:   iXsystems, Inc.
</content>
</entry>
<entry>
<title>MFC r236393:</title>
<updated>2012-06-09T07:36:18Z</updated>
<author>
<name>Alexander Motin</name>
<email>mav@FreeBSD.org</email>
</author>
<published>2012-06-09T07:36:18Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=cad4059f4eed75ab95c0a9fd57480c5c4726a069'/>
<id>urn:sha1:cad4059f4eed75ab95c0a9fd57480c5c4726a069</id>
<content type='text'>
Use AC_GETDEV_CHANGED async to notify ada driver about DMA and NCQ status
change. Now that allows switching between PIO and DMA modes on the fly.
</content>
</entry>
<entry>
<title>MFC r236234:</title>
<updated>2012-06-09T07:29:07Z</updated>
<author>
<name>Alexander Motin</name>
<email>mav@FreeBSD.org</email>
</author>
<published>2012-06-09T07:29:07Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=189380d245a48dd34d583fe62d7fdef643a390f8'/>
<id>urn:sha1:189380d245a48dd34d583fe62d7fdef643a390f8</id>
<content type='text'>
Allow to change number of openings (used tags) for ATA/SATA devices
via `camcontrol tags ... -N ...`.  There is no need to tune it in
usual cases, but some users want to have it for debugging purposes.
</content>
</entry>
<entry>
<title>MFC r208911 (by mjacob):</title>
<updated>2012-06-06T11:46:37Z</updated>
<author>
<name>Alexander Motin</name>
<email>mav@FreeBSD.org</email>
</author>
<published>2012-06-06T11:46:37Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=2ed8c8eece92a91a065a003b38bd5e94e47f311f'/>
<id>urn:sha1:2ed8c8eece92a91a065a003b38bd5e94e47f311f</id>
<content type='text'>
Implement the usage of Report Luns as part of SCSI probing for SCP3 or
better devices. This can be disabled on a per-device basis using quirks as
well.

This also handles the case where there is actually no connected LUN 0
(which can definitely be the case for storage arrays).
</content>
</entry>
</feed>
