Merge git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/v4l-dvb
authorLinus Torvalds <torvalds@linux-foundation.org>
Sun, 6 Apr 2008 23:11:57 +0000 (16:11 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Sun, 6 Apr 2008 23:11:57 +0000 (16:11 -0700)
* git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/v4l-dvb:
  V4L/DVB (7499): v4l/dvb Kconfig: Fix bugzilla #10067
  V4L/DVB (7495): s5h1409: fix blown-away bit in function s5h1409_set_gpio
  V4L/DVB (7460): bttv: Bt832 - fix possible NULL pointer deref

drivers/media/Makefile
drivers/media/dvb/frontends/s5h1409.c
drivers/media/video/bt8xx/bt832.c

index 8cf9135..7b8bb69 100644 (file)
@@ -6,3 +6,6 @@ obj-y := common/
 obj-y += video/
 obj-$(CONFIG_VIDEO_DEV) += radio/
 obj-$(CONFIG_DVB_CORE)  += dvb/
+ifeq ($(CONFIG_DVB_CORE),)
+  obj-$(CONFIG_VIDEO_TUNER)  += dvb/frontends/
+endif
index 8194334..1a4d831 100644 (file)
@@ -445,7 +445,7 @@ static int s5h1409_set_gpio(struct dvb_frontend* fe, int enable)
                        s5h1409_readreg(state, 0xe3) | 0x1100);
        else
                return s5h1409_writereg(state, 0xe3,
-                       s5h1409_readreg(state, 0xe3) & 0xeeff);
+                       s5h1409_readreg(state, 0xe3) & 0xfeff);
 }
 
 static int s5h1409_sleep(struct dvb_frontend* fe, int enable)
index a518761..f92f06d 100644 (file)
@@ -97,6 +97,11 @@ int bt832_init(struct i2c_client *i2c_client_s)
        int rc;
 
        buf=kmalloc(65,GFP_KERNEL);
+       if (!buf) {
+               v4l_err(&t->client,
+                       "Unable to allocate memory. Detaching.\n");
+               return 0;
+       }
        bt832_hexdump(i2c_client_s,buf);
 
        if(buf[0x40] != 0x31) {
@@ -211,7 +216,12 @@ bt832_command(struct i2c_client *client, unsigned int cmd, void *arg)
        switch (cmd) {
                case BT832_HEXDUMP: {
                        unsigned char *buf;
-                       buf=kmalloc(65,GFP_KERNEL);
+                       buf = kmalloc(65, GFP_KERNEL);
+                       if (!buf) {
+                               v4l_err(&t->client,
+                                       "Unable to allocate memory\n");
+                               break;
+                       }
                        bt832_hexdump(&t->client,buf);
                        kfree(buf);
                }