diff options
author | Dennis Ranke <mail@exoticorn.de> | 2007-03-02 04:27:28 -0500 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@infradead.org> | 2007-04-27 14:44:09 -0400 |
commit | 387e69adff3d441616b45002ff85c5b36001be9e (patch) | |
tree | 9d1877b90f6b66fcb3094398852f940e5a81c059 | |
parent | ddc9ece89dbeb374e34772232f5e26f64ce63390 (diff) |
V4L/DVB (5373): [PATCH] Hauppauge Nova-T endianess problem on powerpc
When trying to use a Hauppauge Nova-T Stick on a big-endian architecture
(such as powerpc) no frontend can be attached.
The attached patch fixes this problem by removing two lines in
dib0700_ctrl_rd() that try to correct the endianess on two values that
already are correct:
- /* think about swapping here */
- value = le16_to_cpu(value);
- index = le16_to_cpu(index);
With this simple patch this dvb hardware works great, thanks to anyone
involved for the good work. :)
Signed-off-by: Dennis Ranke <mail@exoticorn.de>
Signed-off-by: Patrick Boettcher <pb@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
-rw-r--r-- | drivers/media/dvb/dvb-usb/dib0700_core.c | 4 | ||||
-rw-r--r-- | drivers/media/dvb/dvb-usb/dib0700_devices.c | 2 |
2 files changed, 1 insertions, 5 deletions
diff --git a/drivers/media/dvb/dvb-usb/dib0700_core.c b/drivers/media/dvb/dvb-usb/dib0700_core.c index 6a4d150784a6..dddf164f269a 100644 --- a/drivers/media/dvb/dvb-usb/dib0700_core.c +++ b/drivers/media/dvb/dvb-usb/dib0700_core.c | |||
@@ -56,10 +56,6 @@ static int dib0700_ctrl_rd(struct dvb_usb_device *d, u8 *tx, u8 txlen, u8 *rx, u | |||
56 | if (txlen > 3) | 56 | if (txlen > 3) |
57 | index |= tx[3]; | 57 | index |= tx[3]; |
58 | 58 | ||
59 | /* think about swapping here */ | ||
60 | value = le16_to_cpu(value); | ||
61 | index = le16_to_cpu(index); | ||
62 | |||
63 | status = usb_control_msg(d->udev, usb_rcvctrlpipe(d->udev,0), tx[0], | 59 | status = usb_control_msg(d->udev, usb_rcvctrlpipe(d->udev,0), tx[0], |
64 | USB_TYPE_VENDOR | USB_DIR_IN, value, index, rx, rxlen, | 60 | USB_TYPE_VENDOR | USB_DIR_IN, value, index, rx, rxlen, |
65 | USB_CTRL_GET_TIMEOUT); | 61 | USB_CTRL_GET_TIMEOUT); |
diff --git a/drivers/media/dvb/dvb-usb/dib0700_devices.c b/drivers/media/dvb/dvb-usb/dib0700_devices.c index aa290bee6a51..2208757d9017 100644 --- a/drivers/media/dvb/dvb-usb/dib0700_devices.c +++ b/drivers/media/dvb/dvb-usb/dib0700_devices.c | |||
@@ -287,7 +287,7 @@ MODULE_DEVICE_TABLE(usb, dib0700_usb_id_table); | |||
287 | #define DIB0700_DEFAULT_DEVICE_PROPERTIES \ | 287 | #define DIB0700_DEFAULT_DEVICE_PROPERTIES \ |
288 | .caps = DVB_USB_IS_AN_I2C_ADAPTER, \ | 288 | .caps = DVB_USB_IS_AN_I2C_ADAPTER, \ |
289 | .usb_ctrl = DEVICE_SPECIFIC, \ | 289 | .usb_ctrl = DEVICE_SPECIFIC, \ |
290 | .firmware = "dvb-usb-dib0700-02-rc1.fw", \ | 290 | .firmware = "dvb-usb-dib0700-01.fw", \ |
291 | .download_firmware = dib0700_download_firmware, \ | 291 | .download_firmware = dib0700_download_firmware, \ |
292 | .no_reconnect = 1, \ | 292 | .no_reconnect = 1, \ |
293 | .size_of_priv = sizeof(struct dib0700_state), \ | 293 | .size_of_priv = sizeof(struct dib0700_state), \ |