Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6

* 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6:
V4L/DVB (11652): au0828: fix kernel oops regression on USB disconnect.
V4L/DVB (11626): cx23885: Two fixes for DViCO FusionHDTV DVB-T Dual Express
V4L/DVB (11612): mx3_camera: Fix compilation with CONFIG_PM
V4L/DVB (11570): patch: s2255drv: fix race condition on set mode
V4L/DVB (11568): cx18: Fix the handling of i2c bus registration error
V4L/DVB (11561a): move media after i2c
V4L/DVB (11516): drivers/media/video/saa5246a.c: fix use-after-free
V4L/DVB (11515): drivers/media/video/saa5249.c: fix use-after-free and leak
V4L/DVB (11494a): cx231xx Kconfig fixes
V4L/DVB (11494): cx18: Send correct input routing value to external audio multiplexers

+49 -41
+2 -2
drivers/Makefile
··· 36 36 37 37 obj-y += serial/ 38 38 obj-$(CONFIG_PARPORT) += parport/ 39 - obj-y += base/ block/ misc/ mfd/ media/ 39 + obj-y += base/ block/ misc/ mfd/ 40 40 obj-$(CONFIG_NUBUS) += nubus/ 41 41 obj-y += macintosh/ 42 42 obj-$(CONFIG_IDE) += ide/ ··· 71 71 obj-$(CONFIG_INPUT) += input/ 72 72 obj-$(CONFIG_I2O) += message/ 73 73 obj-$(CONFIG_RTC_LIB) += rtc/ 74 - obj-y += i2c/ 74 + obj-y += i2c/ media/ 75 75 obj-$(CONFIG_W1) += w1/ 76 76 obj-$(CONFIG_POWER_SUPPLY) += power/ 77 77 obj-$(CONFIG_HWMON) += hwmon/
+4 -2
drivers/media/video/au0828/au0828-core.c
··· 192 192 dev->usbdev = usbdev; 193 193 dev->boardnr = id->driver_info; 194 194 195 - usb_set_intfdata(interface, dev); 196 - 197 195 /* Create the v4l2_device */ 198 196 retval = v4l2_device_register(&interface->dev, &dev->v4l2_dev); 199 197 if (retval) { ··· 219 221 220 222 /* Digital TV */ 221 223 au0828_dvb_register(dev); 224 + 225 + /* Store the pointer to the au0828_dev so it can be accessed in 226 + au0828_usb_disconnect */ 227 + usb_set_intfdata(interface, dev); 222 228 223 229 printk(KERN_INFO "Registered device AU0828 [%s]\n", 224 230 dev->board.name == NULL ? "Unset" : dev->board.name);
+1 -1
drivers/media/video/cx18/cx18-audio.c
··· 44 44 45 45 /* handle muxer chips */ 46 46 v4l2_subdev_call(cx->sd_extmux, audio, s_routing, 47 - in->audio_input, 0, 0); 47 + (u32) in->muxer_input, 0, 0); 48 48 49 49 err = cx18_call_hw_err(cx, cx->card->hw_audio_ctrl, 50 50 audio, s_routing, in->audio_input, 0, 0);
+13 -3
drivers/media/video/cx18/cx18-i2c.c
··· 211 211 /* init + register i2c algo-bit adapter */ 212 212 int init_cx18_i2c(struct cx18 *cx) 213 213 { 214 - int i; 214 + int i, err; 215 215 CX18_DEBUG_I2C("i2c init\n"); 216 216 217 217 for (i = 0; i < 2; i++) { ··· 268 268 cx18_call_hw(cx, CX18_HW_GPIO_RESET_CTRL, 269 269 core, reset, (u32) CX18_GPIO_RESET_I2C); 270 270 271 - return i2c_bit_add_bus(&cx->i2c_adap[0]) || 272 - i2c_bit_add_bus(&cx->i2c_adap[1]); 271 + err = i2c_bit_add_bus(&cx->i2c_adap[0]); 272 + if (err) 273 + goto err; 274 + err = i2c_bit_add_bus(&cx->i2c_adap[1]); 275 + if (err) 276 + goto err_del_bus_0; 277 + return 0; 278 + 279 + err_del_bus_0: 280 + i2c_del_adapter(&cx->i2c_adap[0]); 281 + err: 282 + return err; 273 283 } 274 284 275 285 void exit_cx18_i2c(struct cx18 *cx)
+22 -22
drivers/media/video/cx231xx/Kconfig
··· 1 1 config VIDEO_CX231XX 2 - tristate "Conexant cx231xx USB video capture support" 3 - depends on VIDEO_DEV && I2C && INPUT 4 - select VIDEO_TUNER 5 - select VIDEO_TVEEPROM 6 - select VIDEO_IR 7 - select VIDEOBUF_VMALLOC 8 - select VIDEO_CX25840 9 - select VIDEO_CX231XX_ALSA 2 + tristate "Conexant cx231xx USB video capture support" 3 + depends on VIDEO_DEV && I2C && INPUT 4 + select VIDEO_TUNER 5 + select VIDEO_TVEEPROM 6 + select VIDEO_IR 7 + select VIDEOBUF_VMALLOC 8 + select VIDEO_CX25840 10 9 11 10 ---help--- 12 11 This is a video4linux driver for Conexant 231xx USB based TV cards. ··· 14 15 module will be called cx231xx 15 16 16 17 config VIDEO_CX231XX_ALSA 17 - tristate "Conexant Cx231xx ALSA audio module" 18 - depends on VIDEO_CX231XX && SND 19 - select SND_PCM 18 + tristate "Conexant Cx231xx ALSA audio module" 19 + depends on VIDEO_CX231XX && SND 20 + select SND_PCM 20 21 21 - ---help--- 22 - This is an ALSA driver for Cx231xx USB based TV cards. 22 + ---help--- 23 + This is an ALSA driver for Cx231xx USB based TV cards. 23 24 24 - To compile this driver as a module, choose M here: the 25 - module will be called cx231xx-alsa 25 + To compile this driver as a module, choose M here: the 26 + module will be called cx231xx-alsa 26 27 27 28 config VIDEO_CX231XX_DVB 28 - tristate "DVB/ATSC Support for Cx231xx based TV cards" 29 - depends on VIDEO_CX231XX && DVB_CORE 30 - select VIDEOBUF_DVB 31 - select MEDIA_TUNER_XC5000 if !DVB_FE_CUSTOMISE 32 - ---help--- 33 - This adds support for DVB cards based on the 34 - Conexant cx231xx chips. 29 + tristate "DVB/ATSC Support for Cx231xx based TV cards" 30 + depends on VIDEO_CX231XX && DVB_CORE 31 + select VIDEOBUF_DVB 32 + select MEDIA_TUNER_XC5000 if !DVB_FE_CUSTOMISE 33 + 34 + ---help--- 35 + This adds support for DVB cards based on the 36 + Conexant cx231xx chips.
+2 -2
drivers/media/video/cx23885/cx23885-cards.c
··· 441 441 case CX23885_BOARD_DVICO_FUSIONHDTV_DVB_T_DUAL_EXP: 442 442 /* Two identical tuners on two different i2c buses, 443 443 * we need to reset the correct gpio. */ 444 - if (port->nr == 0) 444 + if (port->nr == 1) 445 445 bitmask = 0x01; 446 - else if (port->nr == 1) 446 + else if (port->nr == 2) 447 447 bitmask = 0x04; 448 448 break; 449 449 }
+1
drivers/media/video/cx23885/cx23885-dvb.c
··· 314 314 .demod_address = 0x0f, 315 315 .if2 = 45600, 316 316 .no_tuner = 1, 317 + .disable_i2c_gate_ctrl = 1, 317 318 }; 318 319 319 320 static struct stv0900_config netup_stv0900_config = {
-4
drivers/media/video/mx3_camera.c
··· 1063 1063 .owner = THIS_MODULE, 1064 1064 .add = mx3_camera_add_device, 1065 1065 .remove = mx3_camera_remove_device, 1066 - #ifdef CONFIG_PM 1067 - .suspend = mx3_camera_suspend, 1068 - .resume = mx3_camera_resume, 1069 - #endif 1070 1066 .set_crop = mx3_camera_set_crop, 1071 1067 .set_fmt = mx3_camera_set_fmt, 1072 1068 .try_fmt = mx3_camera_try_fmt,
+1 -1
drivers/media/video/s2255drv.c
··· 1237 1237 buffer[1] = (u32) chn_rev; 1238 1238 buffer[2] = CMD_SET_MODE; 1239 1239 memcpy(&buffer[3], &dev->mode[chn], sizeof(struct s2255_mode)); 1240 + dev->setmode_ready[chn] = 0; 1240 1241 res = s2255_write_config(dev->udev, (unsigned char *)buffer, 512); 1241 1242 if (debug) 1242 1243 dump_verify_mode(dev, mode); ··· 1246 1245 1247 1246 /* wait at least 3 frames before continuing */ 1248 1247 if (mode->restart) { 1249 - dev->setmode_ready[chn] = 0; 1250 1248 wait_event_timeout(dev->wait_setmode[chn], 1251 1249 (dev->setmode_ready[chn] != 0), 1252 1250 msecs_to_jiffies(S2255_SETMODE_TIMEOUT));
+1 -2
drivers/media/video/saa5246a.c
··· 1092 1092 /* Register it */ 1093 1093 err = video_register_device(t->vdev, VFL_TYPE_VTX, -1); 1094 1094 if (err < 0) { 1095 - kfree(t); 1096 1095 video_device_release(t->vdev); 1097 - t->vdev = NULL; 1096 + kfree(t); 1098 1097 return err; 1099 1098 } 1100 1099 return 0;
+2 -2
drivers/media/video/saa5249.c
··· 598 598 /* Now create a video4linux device */ 599 599 t->vdev = video_device_alloc(); 600 600 if (t->vdev == NULL) { 601 + kfree(t); 601 602 kfree(client); 602 603 return -ENOMEM; 603 604 } ··· 618 617 /* Register it */ 619 618 err = video_register_device(t->vdev, VFL_TYPE_VTX, -1); 620 619 if (err < 0) { 621 - kfree(t); 622 620 video_device_release(t->vdev); 623 - t->vdev = NULL; 621 + kfree(t); 624 622 return err; 625 623 } 626 624 return 0;