diff options
author | jimharris <jimharris@FreeBSD.org> | 2012-08-21 22:28:14 +0000 |
---|---|---|
committer | jimharris <jimharris@FreeBSD.org> | 2012-08-21 22:28:14 +0000 |
commit | 3715d30a3faa80b3990a448a25ebcb06803eb47b (patch) | |
tree | 723083404d26c6424568aa0b517da6334f74dc2b /sys/dev/isci/scil/scif_sas_stp_io_request.c | |
parent | aac78a84d92b54710e2e24cb25f2a89d9ad5ea34 (diff) | |
download | FreeBSD-src-3715d30a3faa80b3990a448a25ebcb06803eb47b.zip FreeBSD-src-3715d30a3faa80b3990a448a25ebcb06803eb47b.tar.gz |
Fix/add support for SCSI UNMAP to ATA DSM translation.
This addresses kernel panic observed when sending SCSI UNMAP
commands to SATA disks attached to isci(4).
1) Flesh out callback routines to allocate/free buffers needed for
translating SCSI UNMAP data to ATA DSM data.
2) Add controller-level pool for storing buffers previously allocated
for UNMAP translation, to lessen chance of no buffer available
under memory pressure.
3) Ensure driver properly handles case where buffer pool is empty
and contigmalloc returns NULL.
Sponsored by: Intel
Reported by: Maksim Yevmenkin <max at netflix dot com>
Discussed with: scottl
MFC after: 3 days
Diffstat (limited to 'sys/dev/isci/scil/scif_sas_stp_io_request.c')
-rw-r--r-- | sys/dev/isci/scil/scif_sas_stp_io_request.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/sys/dev/isci/scil/scif_sas_stp_io_request.c b/sys/dev/isci/scil/scif_sas_stp_io_request.c index 36910bd..cca50c6 100644 --- a/sys/dev/isci/scil/scif_sas_stp_io_request.c +++ b/sys/dev/isci/scil/scif_sas_stp_io_request.c @@ -171,6 +171,8 @@ SCI_STATUS scif_sas_stp_io_request_constructed_complete_handler( ); } + sati_sequence_terminate(&fw_io->parent.stp.sequence, fw_io, fw_io); + return SCI_SUCCESS; } /** |