|
@@ -340,12 +340,15 @@ static int ismt_process_desc(const struct ismt_desc *desc,
|
|
data->word = dma_buffer[0] | (dma_buffer[1] << 8);
|
|
data->word = dma_buffer[0] | (dma_buffer[1] << 8);
|
|
break;
|
|
break;
|
|
case I2C_SMBUS_BLOCK_DATA:
|
|
case I2C_SMBUS_BLOCK_DATA:
|
|
- case I2C_SMBUS_I2C_BLOCK_DATA:
|
|
|
|
if (desc->rxbytes != dma_buffer[0] + 1)
|
|
if (desc->rxbytes != dma_buffer[0] + 1)
|
|
return -EMSGSIZE;
|
|
return -EMSGSIZE;
|
|
|
|
|
|
memcpy(data->block, dma_buffer, desc->rxbytes);
|
|
memcpy(data->block, dma_buffer, desc->rxbytes);
|
|
break;
|
|
break;
|
|
|
|
+ case I2C_SMBUS_I2C_BLOCK_DATA:
|
|
|
|
+ memcpy(&data->block[1], dma_buffer, desc->rxbytes);
|
|
|
|
+ data->block[0] = desc->rxbytes;
|
|
|
|
+ break;
|
|
}
|
|
}
|
|
return 0;
|
|
return 0;
|
|
}
|
|
}
|