git.openpandora.org
/
pandora-kernel.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
982892a
)
media: dvb: i2c transfers over usb cannot be done from stack
author
Laurent Caumont
<lcaumont2@gmail.com>
Sat, 11 Nov 2017 17:44:46 +0000
(12:44 -0500)
committer
Ben Hutchings
<ben@decadent.org.uk>
Sat, 3 Mar 2018 15:50:42 +0000
(15:50 +0000)
commit
6d33377f2abbf9f0e561b116dd468d1c3ff36a6a
upstream.
Signed-off-by: Laurent Caumont <lcaumont2@gmail.com>
Signed-off-by: Sean Young <sean@mess.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
drivers/media/dvb/dvb-usb/dibusb-common.c
patch
|
blob
|
history
diff --git
a/drivers/media/dvb/dvb-usb/dibusb-common.c
b/drivers/media/dvb/dvb-usb/dibusb-common.c
index
a76bbb2
..
e314c32
100644
(file)
--- a/
drivers/media/dvb/dvb-usb/dibusb-common.c
+++ b/
drivers/media/dvb/dvb-usb/dibusb-common.c
@@
-169,8
+169,20
@@
EXPORT_SYMBOL(dibusb_i2c_algo);
int dibusb_read_eeprom_byte(struct dvb_usb_device *d, u8 offs, u8 *val)
{
- u8 wbuf[1] = { offs };
- return dibusb_i2c_msg(d, 0x50, wbuf, 1, val, 1);
+ u8 *buf;
+ int rc;
+
+ buf = kmalloc(2, GFP_KERNEL);
+ if (!buf)
+ return -ENOMEM;
+
+ buf[0] = offs;
+
+ rc = dibusb_i2c_msg(d, 0x50, &buf[0], 1, &buf[1], 1);
+ *val = buf[1];
+ kfree(buf);
+
+ return rc;
}
EXPORT_SYMBOL(dibusb_read_eeprom_byte);