mirror of
https://github.com/edk2-porting/linux-next.git
synced 2024-12-19 10:44:14 +08:00
[media] saa7164: fix endian conversion in saa7164_bus_set()
The msg->command field is 32 bits, and we should fill it with a call to cpu_to_le32(). The current code is broke on big endian systems. On little endian systems it truncates the 32 bit value to 16 bits which probably still works fine. Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> Cc: Steven Toth <stoth@kernellabs.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
This commit is contained in:
parent
ed942c5074
commit
773ddbd228
@ -149,7 +149,7 @@ int saa7164_bus_set(struct saa7164_dev *dev, struct tmComResInfo* msg,
|
|||||||
saa7164_bus_verify(dev);
|
saa7164_bus_verify(dev);
|
||||||
|
|
||||||
msg->size = cpu_to_le16(msg->size);
|
msg->size = cpu_to_le16(msg->size);
|
||||||
msg->command = cpu_to_le16(msg->command);
|
msg->command = cpu_to_le32(msg->command);
|
||||||
msg->controlselector = cpu_to_le16(msg->controlselector);
|
msg->controlselector = cpu_to_le16(msg->controlselector);
|
||||||
|
|
||||||
if (msg->size > dev->bus.m_wMaxReqSize) {
|
if (msg->size > dev->bus.m_wMaxReqSize) {
|
||||||
@ -464,7 +464,7 @@ int saa7164_bus_get(struct saa7164_dev *dev, struct tmComResInfo* msg,
|
|||||||
|
|
||||||
peekout:
|
peekout:
|
||||||
msg->size = le16_to_cpu(msg->size);
|
msg->size = le16_to_cpu(msg->size);
|
||||||
msg->command = le16_to_cpu(msg->command);
|
msg->command = le32_to_cpu(msg->command);
|
||||||
msg->controlselector = le16_to_cpu(msg->controlselector);
|
msg->controlselector = le16_to_cpu(msg->controlselector);
|
||||||
ret = SAA_OK;
|
ret = SAA_OK;
|
||||||
out:
|
out:
|
||||||
|
Loading…
Reference in New Issue
Block a user