diff options
author | Ellen Wang <ellen@cumulusnetworks.com> | 2015-07-09 22:04:31 -0700 |
---|---|---|
committer | Luis Henriques <luis.henriques@canonical.com> | 2015-09-28 10:21:31 +0100 |
commit | d6d56c1c7a0974f5e57a7d7c251f9e18c7bf5b7c (patch) | |
tree | 0e090aa923c686a69b71754db5bd595f1525ed0d | |
parent | 3cb9567dd50451dc53d16c2af68a29ef6c0d03ae (diff) | |
download | linux-stable-d6d56c1c7a0974f5e57a7d7c251f9e18c7bf5b7c.tar.gz linux-stable-d6d56c1c7a0974f5e57a7d7c251f9e18c7bf5b7c.tar.bz2 linux-stable-d6d56c1c7a0974f5e57a7d7c251f9e18c7bf5b7c.zip |
HID: cp2112: fix byte order in SMBUS operations
commit 29e2d6d1f6f61ba2b5cc9d9867e01d8c31a6c4f7 upstream.
Change all occurrences of be16 to le16 in cp2112_xfer(),
because SMBUS words are little endian, not big endian.
Signed-off-by: Ellen Wang <ellen@cumulusnetworks.com>
Signed-off-by: Jiri Kosina <jkosina@suse.com>
Signed-off-by: Luis Henriques <luis.henriques@canonical.com>
-rw-r--r-- | drivers/hid/hid-cp2112.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/drivers/hid/hid-cp2112.c b/drivers/hid/hid-cp2112.c index 68d6d93cbec9..bc37acd0fc67 100644 --- a/drivers/hid/hid-cp2112.c +++ b/drivers/hid/hid-cp2112.c @@ -434,7 +434,7 @@ static int cp2112_xfer(struct i2c_adapter *adap, u16 addr, struct cp2112_device *dev = (struct cp2112_device *)adap->algo_data; struct hid_device *hdev = dev->hdev; u8 buf[64]; - __be16 word; + __le16 word; ssize_t count; size_t read_length = 0; unsigned int retries; @@ -466,7 +466,7 @@ static int cp2112_xfer(struct i2c_adapter *adap, u16 addr, break; case I2C_SMBUS_WORD_DATA: read_length = 2; - word = cpu_to_be16(data->word); + word = cpu_to_le16(data->word); if (I2C_SMBUS_READ == read_write) count = cp2112_write_read_req(buf, addr, read_length, @@ -479,7 +479,7 @@ static int cp2112_xfer(struct i2c_adapter *adap, u16 addr, size = I2C_SMBUS_WORD_DATA; read_write = I2C_SMBUS_READ; read_length = 2; - word = cpu_to_be16(data->word); + word = cpu_to_le16(data->word); count = cp2112_write_read_req(buf, addr, read_length, command, (u8 *)&word, 2); @@ -572,7 +572,7 @@ static int cp2112_xfer(struct i2c_adapter *adap, u16 addr, data->byte = buf[0]; break; case I2C_SMBUS_WORD_DATA: - data->word = be16_to_cpup((__be16 *)buf); + data->word = le16_to_cpup((__le16 *)buf); break; case I2C_SMBUS_BLOCK_DATA: if (read_length > I2C_SMBUS_BLOCK_MAX) { |