|
@@ -343,10 +343,9 @@ static int brcmstb_i2c_xfer_bsc_data(struct brcmstb_i2c_dev *dev,
|
|
struct bsc_regs *pi2creg = dev->bsc_regmap;
|
|
struct bsc_regs *pi2creg = dev->bsc_regmap;
|
|
int no_ack = pmsg->flags & I2C_M_IGNORE_NAK;
|
|
int no_ack = pmsg->flags & I2C_M_IGNORE_NAK;
|
|
int data_regsz = brcmstb_i2c_get_data_regsz(dev);
|
|
int data_regsz = brcmstb_i2c_get_data_regsz(dev);
|
|
- int xfersz = brcmstb_i2c_get_xfersz(dev);
|
|
|
|
|
|
|
|
/* see if the transaction needs to check NACK conditions */
|
|
/* see if the transaction needs to check NACK conditions */
|
|
- if (no_ack || len <= xfersz) {
|
|
|
|
|
|
+ if (no_ack) {
|
|
cmd = (pmsg->flags & I2C_M_RD) ? CMD_RD_NOACK
|
|
cmd = (pmsg->flags & I2C_M_RD) ? CMD_RD_NOACK
|
|
: CMD_WR_NOACK;
|
|
: CMD_WR_NOACK;
|
|
pi2creg->ctlhi_reg |= BSC_CTLHI_REG_IGNORE_ACK_MASK;
|
|
pi2creg->ctlhi_reg |= BSC_CTLHI_REG_IGNORE_ACK_MASK;
|