scsi_all.c (298212) | scsi_all.c (298411) |
---|---|
1/*- 2 * Implementation of Utility functions for all SCSI device types. 3 * 4 * Copyright (c) 1997, 1998, 1999 Justin T. Gibbs. 5 * Copyright (c) 1997, 1998, 2003 Kenneth D. Merry. 6 * All rights reserved. 7 * 8 * Redistribution and use in source and binary forms, with or without --- 14 unchanged lines hidden (view full) --- 23 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 24 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 25 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 26 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 27 * SUCH DAMAGE. 28 */ 29 30#include <sys/cdefs.h> | 1/*- 2 * Implementation of Utility functions for all SCSI device types. 3 * 4 * Copyright (c) 1997, 1998, 1999 Justin T. Gibbs. 5 * Copyright (c) 1997, 1998, 2003 Kenneth D. Merry. 6 * All rights reserved. 7 * 8 * Redistribution and use in source and binary forms, with or without --- 14 unchanged lines hidden (view full) --- 23 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 24 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 25 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 26 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 27 * SUCH DAMAGE. 28 */ 29 30#include <sys/cdefs.h> |
31__FBSDID("$FreeBSD: head/sys/cam/scsi/scsi_all.c 298212 2016-04-18 15:01:59Z asomers $"); | 31__FBSDID("$FreeBSD: head/sys/cam/scsi/scsi_all.c 298411 2016-04-21 15:38:28Z pfg $"); |
32 33#include <sys/param.h> 34#include <sys/types.h> 35#include <sys/stdint.h> 36 37#ifdef _KERNEL 38#include <opt_scsi.h> 39 --- 692 unchanged lines hidden (view full) --- 732 { SSD_KEY_COPY_ABORTED, SS_FATAL|EIO, "COPY ABORTED" }, 733 { SSD_KEY_ABORTED_COMMAND, SS_RDEF, "ABORTED COMMAND" }, 734 { SSD_KEY_EQUAL, SS_NOP, "EQUAL" }, 735 { SSD_KEY_VOLUME_OVERFLOW, SS_FATAL|EIO, "VOLUME OVERFLOW" }, 736 { SSD_KEY_MISCOMPARE, SS_NOP, "MISCOMPARE" }, 737 { SSD_KEY_COMPLETED, SS_NOP, "COMPLETED" } 738}; 739 | 32 33#include <sys/param.h> 34#include <sys/types.h> 35#include <sys/stdint.h> 36 37#ifdef _KERNEL 38#include <opt_scsi.h> 39 --- 692 unchanged lines hidden (view full) --- 732 { SSD_KEY_COPY_ABORTED, SS_FATAL|EIO, "COPY ABORTED" }, 733 { SSD_KEY_ABORTED_COMMAND, SS_RDEF, "ABORTED COMMAND" }, 734 { SSD_KEY_EQUAL, SS_NOP, "EQUAL" }, 735 { SSD_KEY_VOLUME_OVERFLOW, SS_FATAL|EIO, "VOLUME OVERFLOW" }, 736 { SSD_KEY_MISCOMPARE, SS_NOP, "MISCOMPARE" }, 737 { SSD_KEY_COMPLETED, SS_NOP, "COMPLETED" } 738}; 739 |
740const int sense_key_table_size = 741 sizeof(sense_key_table)/sizeof(sense_key_table[0]); 742 | |
743static struct asc_table_entry quantum_fireball_entries[] = { 744 { SST(0x04, 0x0b, SS_START | SSQ_DECREMENT_COUNT | ENXIO, 745 "Logical unit not ready, initializing cmd. required") } 746}; 747 748static struct asc_table_entry sony_mo_entries[] = { 749 { SST(0x04, 0x00, SS_START | SSQ_DECREMENT_COUNT | ENXIO, 750 "Logical unit not ready, cause not reportable") } --- 2535 unchanged lines hidden (view full) --- 3286 asc_tables[0] = quirk->asc_info; 3287 asc_tables_size[0] = quirk->num_ascs; 3288 asc_tables[1] = asc_table; 3289 asc_tables_size[1] = asc_table_size; 3290 num_asc_tables = 2; 3291 sense_tables[0] = quirk->sense_key_info; 3292 sense_tables_size[0] = quirk->num_sense_keys; 3293 sense_tables[1] = sense_key_table; | 740static struct asc_table_entry quantum_fireball_entries[] = { 741 { SST(0x04, 0x0b, SS_START | SSQ_DECREMENT_COUNT | ENXIO, 742 "Logical unit not ready, initializing cmd. required") } 743}; 744 745static struct asc_table_entry sony_mo_entries[] = { 746 { SST(0x04, 0x00, SS_START | SSQ_DECREMENT_COUNT | ENXIO, 747 "Logical unit not ready, cause not reportable") } --- 2535 unchanged lines hidden (view full) --- 3283 asc_tables[0] = quirk->asc_info; 3284 asc_tables_size[0] = quirk->num_ascs; 3285 asc_tables[1] = asc_table; 3286 asc_tables_size[1] = asc_table_size; 3287 num_asc_tables = 2; 3288 sense_tables[0] = quirk->sense_key_info; 3289 sense_tables_size[0] = quirk->num_sense_keys; 3290 sense_tables[1] = sense_key_table; |
3294 sense_tables_size[1] = sense_key_table_size; | 3291 sense_tables_size[1] = nitems(sense_key_table); |
3295 num_sense_tables = 2; 3296 } else { 3297 asc_tables[0] = asc_table; 3298 asc_tables_size[0] = asc_table_size; 3299 num_asc_tables = 1; 3300 sense_tables[0] = sense_key_table; | 3292 num_sense_tables = 2; 3293 } else { 3294 asc_tables[0] = asc_table; 3295 asc_tables_size[0] = asc_table_size; 3296 num_asc_tables = 1; 3297 sense_tables[0] = sense_key_table; |
3301 sense_tables_size[0] = sense_key_table_size; | 3298 sense_tables_size[0] = nitems(sense_key_table); |
3302 num_sense_tables = 1; 3303 } 3304 3305 asc_ascq.asc = asc; 3306 asc_ascq.ascq = ascq; 3307 for (i = 0; i < num_asc_tables; i++) { 3308 void *found_entry; 3309 --- 5532 unchanged lines hidden --- | 3299 num_sense_tables = 1; 3300 } 3301 3302 asc_ascq.asc = asc; 3303 asc_ascq.ascq = ascq; 3304 for (i = 0; i < num_asc_tables; i++) { 3305 void *found_entry; 3306 --- 5532 unchanged lines hidden --- |