mfd: dln2: a couple endian fixes
Subsystems (2)
PATCH 2/2 mfd: dln2: a couple endian fixes
Sparse catches a couple endian bugs.
Signed-off-by Dan Carpenter <[email protected]>
---
Not tested.
drivers/mfd/dln2.c +5 -3
@@ -437,6 +437,7 @@ static int _dln2_transfer(struct dln2_dev *dln2, u16 handle, u16 cmd,struct device *dev = &dln2->interface->dev;const unsigned long timeout =DLN2_USB_TIMEOUT *HZ /1000 ;struct dln2_mod_rx_slots *rxs = &dln2->mod_rx_slots[handle]; +int size;spin_lock (&dln2->disconnect_lock);if (!dln2->disconnect)
@@ -476,8 +477,9 @@ static int _dln2_transfer(struct dln2_dev *dln2, u16 handle, u16 cmd,/* if we got here we know that the response header has been checked */ rsp = rxc->urb->transfer_buffer; + size =le16_to_cpu (rsp->hdr.size); -if (rsp->hdr.size <sizeof (*rsp)) { +if (size <sizeof (*rsp)) { ret = -EPROTO ; goto out_free_rx_slot; }
@@ -494,8 +496,8 @@ static int _dln2_transfer(struct dln2_dev *dln2, u16 handle, u16 cmd, goto out_free_rx_slot; } -if (*ibuf_len > rsp->hdr.size -sizeof (*rsp)) - *ibuf_len = rsp->hdr.size -sizeof (*rsp); +if (*ibuf_len > size -sizeof (*rsp)) + *ibuf_len = size -sizeof (*rsp);memcpy (ibuf, rsp +1 , *ibuf_len);
Quoted 3 lines · Dan Carpenter
Sparse catches a couple endian bugs.
Signed-off-by Dan Carpenter <[email protected]>
Acked-by Octavian Purdila <[email protected]>
Quoted 5 lines · Dan Carpenter
Sparse catches a couple endian bugs.
Signed-off-by Dan Carpenter <[email protected]>---
Not tested.
Applied until someone screams.
Quoted 34 lines
drivers/mfd/dln2.c +5
-3@@ -437,6 +437,7 @@ static int _dln2_transfer(struct dln2_dev *dln2, u16 handle, u16 cmd,struct device *dev = &dln2->interface->dev;const unsigned long timeout =DLN2_USB_TIMEOUT *HZ /1000 ;struct dln2_mod_rx_slots *rxs = &dln2->mod_rx_slots[handle]; +int size;spin_lock (&dln2->disconnect_lock);if (!dln2->disconnect)@@ -476,8 +477,9 @@ static int _dln2_transfer(struct dln2_dev *dln2, u16 handle, u16 cmd,/* if we got here we know that the response header has been checked */ rsp = rxc->urb->transfer_buffer; + size =le16_to_cpu (rsp->hdr.size); -if (rsp->hdr.size <sizeof (*rsp)) { +if (size <sizeof (*rsp)) { ret = -EPROTO ; goto out_free_rx_slot; }@@ -494,8 +496,8 @@ static int _dln2_transfer(struct dln2_dev *dln2, u16 handle, u16 cmd, goto out_free_rx_slot; } -if (*ibuf_len > rsp->hdr.size -sizeof (*rsp)) - *ibuf_len = rsp->hdr.size -sizeof (*rsp); +if (*ibuf_len > size -sizeof (*rsp)) + *ibuf_len = size -sizeof (*rsp);memcpy (ibuf, rsp +1 , *ibuf_len);
Signature · 8 lines
Lee Jones Linaro STMicroelectronics Landing Team Lead Linaro.org │ Open source software for ARM SoCs Follow Linaro: Facebook | Twitter | Blog -- To unsubscribe from this list: send the line "unsubscribe kernel-janitors" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html