diff options
| author | Martin K. Petersen <martin.petersen@oracle.com> | 2009-01-04 03:04:33 -0500 |
|---|---|---|
| committer | James Bottomley <James.Bottomley@HansenPartnership.com> | 2009-01-05 10:05:24 -0500 |
| commit | becce74b8231f8b5e51165e797f6c950d1dbcf67 (patch) | |
| tree | 93ed435a2e50fa238191d90d26f9c79fc0373ca9 | |
| parent | 10da5181688886758ce162705aaad8131b963e99 (diff) | |
[SCSI] sd: DIF: Fix tagging on platforms with signed char
Switch tag arrays to u8 to prevent problems on platforms with signed
char.
Reported-by: Tim LaBerge <tim.laberge@Quantum.Com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
| -rw-r--r-- | drivers/scsi/sd_dif.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/drivers/scsi/sd_dif.c b/drivers/scsi/sd_dif.c index 2fe590f095fc..c9b41077fca1 100644 --- a/drivers/scsi/sd_dif.c +++ b/drivers/scsi/sd_dif.c | |||
| @@ -142,7 +142,7 @@ static int sd_dif_type1_verify_ip(struct blk_integrity_exchg *bix) | |||
| 142 | static void sd_dif_type1_set_tag(void *prot, void *tag_buf, unsigned int sectors) | 142 | static void sd_dif_type1_set_tag(void *prot, void *tag_buf, unsigned int sectors) |
| 143 | { | 143 | { |
| 144 | struct sd_dif_tuple *sdt = prot; | 144 | struct sd_dif_tuple *sdt = prot; |
| 145 | char *tag = tag_buf; | 145 | u8 *tag = tag_buf; |
| 146 | unsigned int i, j; | 146 | unsigned int i, j; |
| 147 | 147 | ||
| 148 | for (i = 0, j = 0 ; i < sectors ; i++, j += 2, sdt++) { | 148 | for (i = 0, j = 0 ; i < sectors ; i++, j += 2, sdt++) { |
| @@ -154,7 +154,7 @@ static void sd_dif_type1_set_tag(void *prot, void *tag_buf, unsigned int sectors | |||
| 154 | static void sd_dif_type1_get_tag(void *prot, void *tag_buf, unsigned int sectors) | 154 | static void sd_dif_type1_get_tag(void *prot, void *tag_buf, unsigned int sectors) |
| 155 | { | 155 | { |
| 156 | struct sd_dif_tuple *sdt = prot; | 156 | struct sd_dif_tuple *sdt = prot; |
| 157 | char *tag = tag_buf; | 157 | u8 *tag = tag_buf; |
| 158 | unsigned int i, j; | 158 | unsigned int i, j; |
| 159 | 159 | ||
| 160 | for (i = 0, j = 0 ; i < sectors ; i++, j += 2, sdt++) { | 160 | for (i = 0, j = 0 ; i < sectors ; i++, j += 2, sdt++) { |
| @@ -256,7 +256,7 @@ static int sd_dif_type3_verify_ip(struct blk_integrity_exchg *bix) | |||
| 256 | static void sd_dif_type3_set_tag(void *prot, void *tag_buf, unsigned int sectors) | 256 | static void sd_dif_type3_set_tag(void *prot, void *tag_buf, unsigned int sectors) |
| 257 | { | 257 | { |
| 258 | struct sd_dif_tuple *sdt = prot; | 258 | struct sd_dif_tuple *sdt = prot; |
| 259 | char *tag = tag_buf; | 259 | u8 *tag = tag_buf; |
| 260 | unsigned int i, j; | 260 | unsigned int i, j; |
| 261 | 261 | ||
| 262 | for (i = 0, j = 0 ; i < sectors ; i++, j += 6, sdt++) { | 262 | for (i = 0, j = 0 ; i < sectors ; i++, j += 6, sdt++) { |
| @@ -269,7 +269,7 @@ static void sd_dif_type3_set_tag(void *prot, void *tag_buf, unsigned int sectors | |||
| 269 | static void sd_dif_type3_get_tag(void *prot, void *tag_buf, unsigned int sectors) | 269 | static void sd_dif_type3_get_tag(void *prot, void *tag_buf, unsigned int sectors) |
| 270 | { | 270 | { |
| 271 | struct sd_dif_tuple *sdt = prot; | 271 | struct sd_dif_tuple *sdt = prot; |
| 272 | char *tag = tag_buf; | 272 | u8 *tag = tag_buf; |
| 273 | unsigned int i, j; | 273 | unsigned int i, j; |
| 274 | 274 | ||
| 275 | for (i = 0, j = 0 ; i < sectors ; i++, j += 2, sdt++) { | 275 | for (i = 0, j = 0 ; i < sectors ; i++, j += 2, sdt++) { |
