diff options
-rw-r--r-- | drivers/media/video/s2255drv.c | 23 |
1 files changed, 12 insertions, 11 deletions
diff --git a/drivers/media/video/s2255drv.c b/drivers/media/video/s2255drv.c index 350524246ce0..4894cbb1c547 100644 --- a/drivers/media/video/s2255drv.c +++ b/drivers/media/video/s2255drv.c | |||
@@ -134,7 +134,7 @@ | |||
134 | 134 | ||
135 | /* usb config commands */ | 135 | /* usb config commands */ |
136 | #define IN_DATA_TOKEN cpu_to_le32(0x2255c0de) | 136 | #define IN_DATA_TOKEN cpu_to_le32(0x2255c0de) |
137 | #define CMD_2255 cpu_to_le32(0xc2255000) | 137 | #define CMD_2255 0xc2255000 |
138 | #define CMD_SET_MODE cpu_to_le32((CMD_2255 | 0x10)) | 138 | #define CMD_SET_MODE cpu_to_le32((CMD_2255 | 0x10)) |
139 | #define CMD_START cpu_to_le32((CMD_2255 | 0x20)) | 139 | #define CMD_START cpu_to_le32((CMD_2255 | 0x20)) |
140 | #define CMD_STOP cpu_to_le32((CMD_2255 | 0x30)) | 140 | #define CMD_STOP cpu_to_le32((CMD_2255 | 0x30)) |
@@ -2025,7 +2025,7 @@ static int save_frame(struct s2255_dev *dev, struct s2255_pipeinfo *pipe_info) | |||
2025 | pdata[1]); | 2025 | pdata[1]); |
2026 | offset = jj + PREFIX_SIZE; | 2026 | offset = jj + PREFIX_SIZE; |
2027 | bframe = 1; | 2027 | bframe = 1; |
2028 | cc = pdword[1]; | 2028 | cc = le32_to_cpu(pdword[1]); |
2029 | if (cc >= MAX_CHANNELS) { | 2029 | if (cc >= MAX_CHANNELS) { |
2030 | printk(KERN_ERR | 2030 | printk(KERN_ERR |
2031 | "bad channel\n"); | 2031 | "bad channel\n"); |
@@ -2034,22 +2034,22 @@ static int save_frame(struct s2255_dev *dev, struct s2255_pipeinfo *pipe_info) | |||
2034 | /* reverse it */ | 2034 | /* reverse it */ |
2035 | dev->cc = G_chnmap[cc]; | 2035 | dev->cc = G_chnmap[cc]; |
2036 | channel = &dev->channel[dev->cc]; | 2036 | channel = &dev->channel[dev->cc]; |
2037 | payload = pdword[3]; | 2037 | payload = le32_to_cpu(pdword[3]); |
2038 | if (payload > channel->req_image_size) { | 2038 | if (payload > channel->req_image_size) { |
2039 | channel->bad_payload++; | 2039 | channel->bad_payload++; |
2040 | /* discard the bad frame */ | 2040 | /* discard the bad frame */ |
2041 | return -EINVAL; | 2041 | return -EINVAL; |
2042 | } | 2042 | } |
2043 | channel->pkt_size = payload; | 2043 | channel->pkt_size = payload; |
2044 | channel->jpg_size = pdword[4]; | 2044 | channel->jpg_size = le32_to_cpu(pdword[4]); |
2045 | break; | 2045 | break; |
2046 | case S2255_MARKER_RESPONSE: | 2046 | case S2255_MARKER_RESPONSE: |
2047 | 2047 | ||
2048 | pdata += DEF_USB_BLOCK; | 2048 | pdata += DEF_USB_BLOCK; |
2049 | jj += DEF_USB_BLOCK; | 2049 | jj += DEF_USB_BLOCK; |
2050 | if (pdword[1] >= MAX_CHANNELS) | 2050 | if (le32_to_cpu(pdword[1]) >= MAX_CHANNELS) |
2051 | break; | 2051 | break; |
2052 | cc = G_chnmap[pdword[1]]; | 2052 | cc = G_chnmap[le32_to_cpu(pdword[1])]; |
2053 | if (cc >= MAX_CHANNELS) | 2053 | if (cc >= MAX_CHANNELS) |
2054 | break; | 2054 | break; |
2055 | channel = &dev->channel[cc]; | 2055 | channel = &dev->channel[cc]; |
@@ -2072,11 +2072,11 @@ static int save_frame(struct s2255_dev *dev, struct s2255_pipeinfo *pipe_info) | |||
2072 | wake_up(&dev->fw_data->wait_fw); | 2072 | wake_up(&dev->fw_data->wait_fw); |
2073 | break; | 2073 | break; |
2074 | case S2255_RESPONSE_STATUS: | 2074 | case S2255_RESPONSE_STATUS: |
2075 | channel->vidstatus = pdword[3]; | 2075 | channel->vidstatus = le32_to_cpu(pdword[3]); |
2076 | channel->vidstatus_ready = 1; | 2076 | channel->vidstatus_ready = 1; |
2077 | wake_up(&channel->wait_vidstatus); | 2077 | wake_up(&channel->wait_vidstatus); |
2078 | dprintk(5, "got vidstatus %x chan %d\n", | 2078 | dprintk(5, "got vidstatus %x chan %d\n", |
2079 | pdword[3], cc); | 2079 | le32_to_cpu(pdword[3]), cc); |
2080 | break; | 2080 | break; |
2081 | default: | 2081 | default: |
2082 | printk(KERN_INFO "s2255 unknown resp\n"); | 2082 | printk(KERN_INFO "s2255 unknown resp\n"); |
@@ -2603,10 +2603,11 @@ static int s2255_probe(struct usb_interface *interface, | |||
2603 | __le32 *pRel; | 2603 | __le32 *pRel; |
2604 | pRel = (__le32 *) &dev->fw_data->fw->data[fw_size - 4]; | 2604 | pRel = (__le32 *) &dev->fw_data->fw->data[fw_size - 4]; |
2605 | printk(KERN_INFO "s2255 dsp fw version %x\n", *pRel); | 2605 | printk(KERN_INFO "s2255 dsp fw version %x\n", *pRel); |
2606 | dev->dsp_fw_ver = *pRel; | 2606 | dev->dsp_fw_ver = le32_to_cpu(*pRel); |
2607 | if (*pRel < S2255_CUR_DSP_FWVER) | 2607 | if (dev->dsp_fw_ver < S2255_CUR_DSP_FWVER) |
2608 | printk(KERN_INFO "s2255: f2255usb.bin out of date.\n"); | 2608 | printk(KERN_INFO "s2255: f2255usb.bin out of date.\n"); |
2609 | if (dev->pid == 0x2257 && *pRel < S2255_MIN_DSP_COLORFILTER) | 2609 | if (dev->pid == 0x2257 && |
2610 | dev->dsp_fw_ver < S2255_MIN_DSP_COLORFILTER) | ||
2610 | printk(KERN_WARNING "s2255: 2257 requires firmware %d" | 2611 | printk(KERN_WARNING "s2255: 2257 requires firmware %d" |
2611 | " or above.\n", S2255_MIN_DSP_COLORFILTER); | 2612 | " or above.\n", S2255_MIN_DSP_COLORFILTER); |
2612 | } | 2613 | } |