forked from Minki/linux
[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>
This commit is contained in:
parent
10da518168
commit
becce74b82
@ -142,7 +142,7 @@ static int sd_dif_type1_verify_ip(struct blk_integrity_exchg *bix)
|
|||||||
static void sd_dif_type1_set_tag(void *prot, void *tag_buf, unsigned int sectors)
|
static void sd_dif_type1_set_tag(void *prot, void *tag_buf, unsigned int sectors)
|
||||||
{
|
{
|
||||||
struct sd_dif_tuple *sdt = prot;
|
struct sd_dif_tuple *sdt = prot;
|
||||||
char *tag = tag_buf;
|
u8 *tag = tag_buf;
|
||||||
unsigned int i, j;
|
unsigned int i, j;
|
||||||
|
|
||||||
for (i = 0, j = 0 ; i < sectors ; i++, j += 2, sdt++) {
|
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
|
|||||||
static void sd_dif_type1_get_tag(void *prot, void *tag_buf, unsigned int sectors)
|
static void sd_dif_type1_get_tag(void *prot, void *tag_buf, unsigned int sectors)
|
||||||
{
|
{
|
||||||
struct sd_dif_tuple *sdt = prot;
|
struct sd_dif_tuple *sdt = prot;
|
||||||
char *tag = tag_buf;
|
u8 *tag = tag_buf;
|
||||||
unsigned int i, j;
|
unsigned int i, j;
|
||||||
|
|
||||||
for (i = 0, j = 0 ; i < sectors ; i++, j += 2, sdt++) {
|
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)
|
|||||||
static void sd_dif_type3_set_tag(void *prot, void *tag_buf, unsigned int sectors)
|
static void sd_dif_type3_set_tag(void *prot, void *tag_buf, unsigned int sectors)
|
||||||
{
|
{
|
||||||
struct sd_dif_tuple *sdt = prot;
|
struct sd_dif_tuple *sdt = prot;
|
||||||
char *tag = tag_buf;
|
u8 *tag = tag_buf;
|
||||||
unsigned int i, j;
|
unsigned int i, j;
|
||||||
|
|
||||||
for (i = 0, j = 0 ; i < sectors ; i++, j += 6, sdt++) {
|
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
|
|||||||
static void sd_dif_type3_get_tag(void *prot, void *tag_buf, unsigned int sectors)
|
static void sd_dif_type3_get_tag(void *prot, void *tag_buf, unsigned int sectors)
|
||||||
{
|
{
|
||||||
struct sd_dif_tuple *sdt = prot;
|
struct sd_dif_tuple *sdt = prot;
|
||||||
char *tag = tag_buf;
|
u8 *tag = tag_buf;
|
||||||
unsigned int i, j;
|
unsigned int i, j;
|
||||||
|
|
||||||
for (i = 0, j = 0 ; i < sectors ; i++, j += 2, sdt++) {
|
for (i = 0, j = 0 ; i < sectors ; i++, j += 2, sdt++) {
|
||||||
|
Loading…
Reference in New Issue
Block a user