[PATCH/TRIVIAL 3/4] [SCSI] aic7xxx: Grammar s/if ... if/if ... is/
Signed-off-by: Geert Uytterhoeven geert+rene...@glider.be Cc: Hannes Reinecke h...@suse.de Cc: linux-scsi@vger.kernel.org --- drivers/scsi/aic7xxx/aic79xx_core.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/scsi/aic7xxx/aic79xx_core.c b/drivers/scsi/aic7xxx/aic79xx_core.c index 0bcacf71aef814fe..97f2accd3dbb48ac 100644 --- a/drivers/scsi/aic7xxx/aic79xx_core.c +++ b/drivers/scsi/aic7xxx/aic79xx_core.c @@ -1298,7 +1298,7 @@ rescan_fifos: /* * Wait for any inprogress DMA to complete and clear DMA state -* if this if for an SCB in the qinfifo. +* if this is for an SCB in the qinfifo. */ while (((ccscbctl = ahd_inb(ahd, CCSCBCTL)) (CCARREN|CCSCBEN)) != 0) { -- 1.9.1 -- To unsubscribe from this list: send the line unsubscribe linux-scsi in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCH v5 41/45] virtio_scsi: v1.0 support
Note: for consistency, and to avoid sparse errors, convert all fields, even those no longer in use for virtio v1.0. Signed-off-by: Michael S. Tsirkin m...@redhat.com Acked-by: Paolo Bonzini pbonz...@redhat.com --- include/linux/virtio_scsi.h | 32 +++- drivers/scsi/virtio_scsi.c | 51 - 2 files changed, 49 insertions(+), 34 deletions(-) diff --git a/include/linux/virtio_scsi.h b/include/linux/virtio_scsi.h index de429d1..af44864 100644 --- a/include/linux/virtio_scsi.h +++ b/include/linux/virtio_scsi.h @@ -27,13 +27,15 @@ #ifndef _LINUX_VIRTIO_SCSI_H #define _LINUX_VIRTIO_SCSI_H +#include linux/virtio_types.h + #define VIRTIO_SCSI_CDB_SIZE 32 #define VIRTIO_SCSI_SENSE_SIZE 96 /* SCSI command request, followed by data-out */ struct virtio_scsi_cmd_req { u8 lun[8]; /* Logical Unit Number */ - u64 tag;/* Command identifier */ + __virtio64 tag; /* Command identifier */ u8 task_attr; /* Task attribute */ u8 prio;/* SAM command priority field */ u8 crn; @@ -43,20 +45,20 @@ struct virtio_scsi_cmd_req { /* SCSI command request, followed by protection information */ struct virtio_scsi_cmd_req_pi { u8 lun[8]; /* Logical Unit Number */ - u64 tag;/* Command identifier */ + __virtio64 tag; /* Command identifier */ u8 task_attr; /* Task attribute */ u8 prio;/* SAM command priority field */ u8 crn; - u32 pi_bytesout;/* DataOUT PI Number of bytes */ - u32 pi_bytesin; /* DataIN PI Number of bytes */ + __virtio32 pi_bytesout; /* DataOUT PI Number of bytes */ + __virtio32 pi_bytesin; /* DataIN PI Number of bytes */ u8 cdb[VIRTIO_SCSI_CDB_SIZE]; } __packed; /* Response, followed by sense data and data-in */ struct virtio_scsi_cmd_resp { - u32 sense_len; /* Sense data length */ - u32 resid; /* Residual bytes in data buffer */ - u16 status_qualifier; /* Status qualifier */ + __virtio32 sense_len; /* Sense data length */ + __virtio32 resid; /* Residual bytes in data buffer */ + __virtio16 status_qualifier;/* Status qualifier */ u8 status; /* Command completion status */ u8 response;/* Response values */ u8 sense[VIRTIO_SCSI_SENSE_SIZE]; @@ -64,10 +66,10 @@ struct virtio_scsi_cmd_resp { /* Task Management Request */ struct virtio_scsi_ctrl_tmf_req { - u32 type; - u32 subtype; + __virtio32 type; + __virtio32 subtype; u8 lun[8]; - u64 tag; + __virtio64 tag; } __packed; struct virtio_scsi_ctrl_tmf_resp { @@ -76,20 +78,20 @@ struct virtio_scsi_ctrl_tmf_resp { /* Asynchronous notification query/subscription */ struct virtio_scsi_ctrl_an_req { - u32 type; + __virtio32 type; u8 lun[8]; - u32 event_requested; + __virtio32 event_requested; } __packed; struct virtio_scsi_ctrl_an_resp { - u32 event_actual; + __virtio32 event_actual; u8 response; } __packed; struct virtio_scsi_event { - u32 event; + __virtio32 event; u8 lun[8]; - u32 reason; + __virtio32 reason; } __packed; struct virtio_scsi_config { diff --git a/drivers/scsi/virtio_scsi.c b/drivers/scsi/virtio_scsi.c index b83846f..d9ec806 100644 --- a/drivers/scsi/virtio_scsi.c +++ b/drivers/scsi/virtio_scsi.c @@ -158,7 +158,7 @@ static void virtscsi_complete_cmd(struct virtio_scsi *vscsi, void *buf) sc, resp-response, resp-status, resp-sense_len); sc-result = resp-status; - virtscsi_compute_resid(sc, resp-resid); + virtscsi_compute_resid(sc, virtio32_to_cpu(vscsi-vdev, resp-resid)); switch (resp-response) { case VIRTIO_SCSI_S_OK: set_host_byte(sc, DID_OK); @@ -196,10 +196,13 @@ static void virtscsi_complete_cmd(struct virtio_scsi *vscsi, void *buf) break; } - WARN_ON(resp-sense_len VIRTIO_SCSI_SENSE_SIZE); + WARN_ON(virtio32_to_cpu(vscsi-vdev, resp-sense_len) + VIRTIO_SCSI_SENSE_SIZE); if (sc-sense_buffer) { memcpy(sc-sense_buffer, resp-sense, - min_t(u32, resp-sense_len, VIRTIO_SCSI_SENSE_SIZE)); + min_t(u32, +virtio32_to_cpu(vscsi-vdev, resp-sense_len), +VIRTIO_SCSI_SENSE_SIZE)); if (resp-sense_len) set_driver_byte(sc, DRIVER_SENSE); } @@ -323,7 +326,7 @@ static void virtscsi_handle_transport_reset(struct virtio_scsi *vscsi, unsigned int target = event-lun[1]; unsigned int lun = (event-lun[2] 8) | event-lun[3]; - switch
AW: AW: ARCMSR - Notify sense data report - Lost patch?
Von: 黃清隆 [ching2...@areca.com.tw] Gesendet: Donnerstag, 27. November 2014 12:43 An: Markus Stockhausen Cc: Tomas Henzl; Christoph Hellwig; linux-scsi@vger.kernel.org Betreff: Re: AW: ARCMSR - Notify sense data report - Lost patch? Hi Markus, The attached source code has patched the notify sense data. It has been tested from kernel 3.0 ~ 3.18. Thanks, Ching Thanks for providing the source code. Nevertheless I would like to see the patch https://lkml.org/lkml/2014/2/20/956 resubmitted to linux standard kernel. Will that be possible? Markus Diese E-Mail enthält vertrauliche und/oder rechtlich geschützte Informationen. Wenn Sie nicht der richtige Adressat sind oder diese E-Mail irrtümlich erhalten haben, informieren Sie bitte sofort den Absender und vernichten Sie diese Mail. Das unerlaubte Kopieren sowie die unbefugte Weitergabe dieser Mail ist nicht gestattet. Ãber das Internet versandte E-Mails können unter fremden Namen erstellt oder manipuliert werden. Deshalb ist diese als E-Mail verschickte Nachricht keine rechtsverbindliche Willenserklärung. Collogia Unternehmensberatung AG Ubierring 11 D-50678 Köln Vorstand: Kadir Akin Dr. Michael Höhnerbach Vorsitzender des Aufsichtsrates: Hans Kristian Langva Registergericht: Amtsgericht Köln Registernummer: HRB 52 497 This e-mail may contain confidential and/or privileged information. If you are not the intended recipient (or have received this e-mail in error) please notify the sender immediately and destroy this e-mail. Any unauthorized copying, disclosure or distribution of the material in this e-mail is strictly forbidden. e-mails sent over the internet may have been written under a wrong name or been manipulated. That is why this message sent as an e-mail is not a legally binding declaration of intention. Collogia Unternehmensberatung AG Ubierring 11 D-50678 Köln executive board: Kadir Akin Dr. Michael Höhnerbach President of the supervisory board: Hans Kristian Langva Registry office: district court Cologne Register number: HRB 52 497
[PATCH 1/1] esas2r: Correct typos of validate in a comment
From: Boris Bodemann bobo.barbaro...@gmail.com Correct typos of validate in a comment Signed-off-by: Boris Bodemann bobo.barbaro...@gmail.com --- diff -up a/drivers/scsi/esas2r/esas2r_flash.c b/drivers/scsi/esas2r/esas2r_flash.c --- a/drivers/scsi/esas2r/esas2r_flash.c2014-11-21 18:24:10.0 +0100 +++ b/drivers/scsi/esas2r/esas2r_flash.c2014-11-27 14:49:03.029899303 +0100 @@ -684,9 +684,9 @@ static u16 calc_fi_checksum(struct esas2 * 1) verify the fi_version is correct * 2) verify the checksum of the entire image. * 3) validate the adap_typ, action and length fields. - * 4) valdiate each component header. check the img_type and + * 4) validate each component header. check the img_type and * length fields - * 5) valdiate each component image. validate signatures and + * 5) validate each component image. validate signatures and * local checksums */ static bool verify_fi(struct esas2r_adapter *a, -- To unsubscribe from this list: send the line unsubscribe linux-scsi in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCH v6 42/46] virtio_scsi: v1.0 support
Note: for consistency, and to avoid sparse errors, convert all fields, even those no longer in use for virtio v1.0. Signed-off-by: Michael S. Tsirkin m...@redhat.com Acked-by: Paolo Bonzini pbonz...@redhat.com --- include/linux/virtio_scsi.h | 32 +++- drivers/scsi/virtio_scsi.c | 51 - 2 files changed, 49 insertions(+), 34 deletions(-) diff --git a/include/linux/virtio_scsi.h b/include/linux/virtio_scsi.h index de429d1..af44864 100644 --- a/include/linux/virtio_scsi.h +++ b/include/linux/virtio_scsi.h @@ -27,13 +27,15 @@ #ifndef _LINUX_VIRTIO_SCSI_H #define _LINUX_VIRTIO_SCSI_H +#include linux/virtio_types.h + #define VIRTIO_SCSI_CDB_SIZE 32 #define VIRTIO_SCSI_SENSE_SIZE 96 /* SCSI command request, followed by data-out */ struct virtio_scsi_cmd_req { u8 lun[8]; /* Logical Unit Number */ - u64 tag;/* Command identifier */ + __virtio64 tag; /* Command identifier */ u8 task_attr; /* Task attribute */ u8 prio;/* SAM command priority field */ u8 crn; @@ -43,20 +45,20 @@ struct virtio_scsi_cmd_req { /* SCSI command request, followed by protection information */ struct virtio_scsi_cmd_req_pi { u8 lun[8]; /* Logical Unit Number */ - u64 tag;/* Command identifier */ + __virtio64 tag; /* Command identifier */ u8 task_attr; /* Task attribute */ u8 prio;/* SAM command priority field */ u8 crn; - u32 pi_bytesout;/* DataOUT PI Number of bytes */ - u32 pi_bytesin; /* DataIN PI Number of bytes */ + __virtio32 pi_bytesout; /* DataOUT PI Number of bytes */ + __virtio32 pi_bytesin; /* DataIN PI Number of bytes */ u8 cdb[VIRTIO_SCSI_CDB_SIZE]; } __packed; /* Response, followed by sense data and data-in */ struct virtio_scsi_cmd_resp { - u32 sense_len; /* Sense data length */ - u32 resid; /* Residual bytes in data buffer */ - u16 status_qualifier; /* Status qualifier */ + __virtio32 sense_len; /* Sense data length */ + __virtio32 resid; /* Residual bytes in data buffer */ + __virtio16 status_qualifier;/* Status qualifier */ u8 status; /* Command completion status */ u8 response;/* Response values */ u8 sense[VIRTIO_SCSI_SENSE_SIZE]; @@ -64,10 +66,10 @@ struct virtio_scsi_cmd_resp { /* Task Management Request */ struct virtio_scsi_ctrl_tmf_req { - u32 type; - u32 subtype; + __virtio32 type; + __virtio32 subtype; u8 lun[8]; - u64 tag; + __virtio64 tag; } __packed; struct virtio_scsi_ctrl_tmf_resp { @@ -76,20 +78,20 @@ struct virtio_scsi_ctrl_tmf_resp { /* Asynchronous notification query/subscription */ struct virtio_scsi_ctrl_an_req { - u32 type; + __virtio32 type; u8 lun[8]; - u32 event_requested; + __virtio32 event_requested; } __packed; struct virtio_scsi_ctrl_an_resp { - u32 event_actual; + __virtio32 event_actual; u8 response; } __packed; struct virtio_scsi_event { - u32 event; + __virtio32 event; u8 lun[8]; - u32 reason; + __virtio32 reason; } __packed; struct virtio_scsi_config { diff --git a/drivers/scsi/virtio_scsi.c b/drivers/scsi/virtio_scsi.c index b83846f..d9ec806 100644 --- a/drivers/scsi/virtio_scsi.c +++ b/drivers/scsi/virtio_scsi.c @@ -158,7 +158,7 @@ static void virtscsi_complete_cmd(struct virtio_scsi *vscsi, void *buf) sc, resp-response, resp-status, resp-sense_len); sc-result = resp-status; - virtscsi_compute_resid(sc, resp-resid); + virtscsi_compute_resid(sc, virtio32_to_cpu(vscsi-vdev, resp-resid)); switch (resp-response) { case VIRTIO_SCSI_S_OK: set_host_byte(sc, DID_OK); @@ -196,10 +196,13 @@ static void virtscsi_complete_cmd(struct virtio_scsi *vscsi, void *buf) break; } - WARN_ON(resp-sense_len VIRTIO_SCSI_SENSE_SIZE); + WARN_ON(virtio32_to_cpu(vscsi-vdev, resp-sense_len) + VIRTIO_SCSI_SENSE_SIZE); if (sc-sense_buffer) { memcpy(sc-sense_buffer, resp-sense, - min_t(u32, resp-sense_len, VIRTIO_SCSI_SENSE_SIZE)); + min_t(u32, +virtio32_to_cpu(vscsi-vdev, resp-sense_len), +VIRTIO_SCSI_SENSE_SIZE)); if (resp-sense_len) set_driver_byte(sc, DRIVER_SENSE); } @@ -323,7 +326,7 @@ static void virtscsi_handle_transport_reset(struct virtio_scsi *vscsi, unsigned int target = event-lun[1]; unsigned int lun = (event-lun[2] 8) | event-lun[3]; - switch
[ANNOUNCE] lsscsi version 0.28 released
lsscsi is a command line utility that probes sysfs in Linux 2.6 and 3 series kernels in order to list information about SCSI devices and SCSI hosts. The default format is one device (e.g. disk) per line. Other storage devices that use the SCSI subsystem such as SATA and USB keys are also listed. Version 0.28 is available at: http://sg.danny.cz/scsi/lsscsi.html More information can be found on that page including examples plus a Download and Build information section containing tarballs, rpm and deb packages. ChangeLog: Version 0.28 2014/09/30 [svn: r120] - fix handling of scsi_level 0 (no compliance) - add SRP transport identifier - add --unit option for LU identifier (= lk 3.15) - add (S)ATA transport identifier (= lk 3.15) - make USB transport ids more consistent - fix FC transport id missing comma - add pdt strings for security manager and zbc - upgrade automake to version 1.14.1 Version 0.27 2013/05/08 [svn: r111] ... Doug Gilbert -- To unsubscribe from this list: send the line unsubscribe linux-scsi in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: AW: ARCMSR - Notify sense data report - Lost patch?
Of course. I shall submit this patch latter. Thanks, Ching 2014-11-28 0:05 GMT+08:00 Markus Stockhausen stockhau...@collogia.de: Von: 黃清隆 [ching2...@areca.com.tw] Gesendet: Donnerstag, 27. November 2014 12:43 An: Markus Stockhausen Cc: Tomas Henzl; Christoph Hellwig; linux-scsi@vger.kernel.org Betreff: Re: AW: ARCMSR - Notify sense data report - Lost patch? Hi Markus, The attached source code has patched the notify sense data. It has been tested from kernel 3.0 ~ 3.18. Thanks, Ching Thanks for providing the source code. Nevertheless I would like to see the patch https://lkml.org/lkml/2014/2/20/956 resubmitted to linux standard kernel. Will that be possible? Markus -- To unsubscribe from this list: send the line unsubscribe linux-scsi in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCH 1/1] arcmsr: Notify has sense data report
From: Ching Huang ching2...@areca.com.tw This patch is relative to http://git.infradead.org/users/hch/scsi-queue.git/tree/refs/heads/drivers-for-3.18:/drivers/scsi/arcmsr Setting command status with 'DRIVER_SENSE' except 'CHECK_CONDITION' if we have sense data. Signed-off-by: Ching Huang ching2...@areca.com.tw --- diff -uprN a/drivers/scsi/arcmsr/arcmsr.h b/drivers/scsi/arcmsr/arcmsr.h --- a/drivers/scsi/arcmsr/arcmsr.h 2014-09-19 11:04:41.84510 +0800 +++ b/drivers/scsi/arcmsr/arcmsr.h 2014-11-28 10:54:30.0 +0800 @@ -52,7 +52,7 @@ struct device_attribute; #define ARCMSR_MAX_FREECCB_NUM 320 #define ARCMSR_MAX_OUTSTANDING_CMD 255 #endif -#define ARCMSR_DRIVER_VERSION v1.30.00.04-20140919 +#define ARCMSR_DRIVER_VERSION v1.30.00.05-20141128 #define ARCMSR_SCSI_INITIATOR_ID 255 #define ARCMSR_MAX_XFER_SECTORS 512 #define ARCMSR_MAX_XFER_SECTORS_B 4096 diff -uprN a/drivers/scsi/arcmsr/arcmsr_hba.c b/drivers/scsi/arcmsr/arcmsr_hba.c --- a/drivers/scsi/arcmsr/arcmsr_hba.c 2014-09-19 11:01:26.99009 +0800 +++ b/drivers/scsi/arcmsr/arcmsr_hba.c 2014-11-28 10:55:54.0 +0800 @@ -989,7 +989,8 @@ static void arcmsr_report_sense_info(str struct scsi_cmnd *pcmd = ccb-pcmd; struct SENSE_DATA *sensebuffer = (struct SENSE_DATA *)pcmd-sense_buffer; - pcmd-result = DID_OK 16; + + pcmd-result = (DID_OK 16) | (CHECK_CONDITION 1); if (sensebuffer) { int sense_data_length = sizeof(struct SENSE_DATA) SCSI_SENSE_BUFFERSIZE @@ -998,6 +999,7 @@ static void arcmsr_report_sense_info(str memcpy(sensebuffer, ccb-arcmsr_cdb.SenseData, sense_data_length); sensebuffer-ErrorCode = SCSI_SENSE_CURRENT_ERRORS; sensebuffer-Valid = 1; + pcmd-result |= (DRIVER_SENSE 24); } } -- To unsubscribe from this list: send the line unsubscribe linux-scsi in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html