Merge branch 'pci_id_updates' of git://git.kernel.org/pub/scm/linux/kernel/git/mcheha...
authorLinus Torvalds <torvalds@linux-foundation.org>
Sun, 6 Apr 2008 23:12:24 +0000 (16:12 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Sun, 6 Apr 2008 23:12:24 +0000 (16:12 -0700)
* 'pci_id_updates' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/v4l-dvb:
  V4L/DVB (7497): pvrusb2: add new usb pid for 73xxx models
  V4L/DVB (7496): pvrusb2: add new usb pid for 75xxx models

arch/x86/kernel/cpu/bugs.c
drivers/acpi/video.c
drivers/char/drm/i915_drv.h
drivers/media/Makefile
drivers/media/dvb/frontends/s5h1409.c
drivers/media/video/bt8xx/bt832.c
drivers/scsi/scsi.c
drivers/watchdog/it8712f_wdt.c

index 027e5c003b167df8ed361e8e33c0a6af698f8344..170d2f5523b2c6e04f4c28aa423077388bb3abce 100644 (file)
@@ -142,14 +142,6 @@ static void __init check_config(void)
                panic("Kernel requires i486+ for 'invlpg' and other features");
 #endif
 
-/*
- * If we configured ourselves for a TSC, we'd better have one!
- */
-#ifdef CONFIG_X86_TSC
-       if (!cpu_has_tsc)
-               panic("Kernel compiled for Pentium+, requires TSC feature!");
-#endif
-
 /*
  * If we were told we had a good local APIC, check for buggy Pentia,
  * i.e. all B steppings and the C2 stepping of P54C when using their
index 12fb44f16766f5979be78b031cd16225161e23d3..980a74188781eba10b5372934de94bef0e2a2ea2 100644 (file)
@@ -713,7 +713,7 @@ static void acpi_video_device_find_cap(struct acpi_video_device *device)
 
        kfree(obj);
 
-       if (device->cap._BCL && device->cap._BCM && max_level > 0) {
+       if (device->cap._BCL && device->cap._BCM && device->cap._BQC && max_level > 0){
                int result;
                static int count = 0;
                char *name;
index c10d128e34dbd08beb949eef706d3ab11cee3a71..675d88bda066312f5092a8e9b5443b31e76910d4 100644 (file)
@@ -1092,8 +1092,8 @@ extern int i915_wait_ring(struct drm_device * dev, int n, const char *caller);
 #define IS_I915G(dev) ((dev)->pci_device == 0x2582 || (dev)->pci_device == 0x258a)
 #define IS_I915GM(dev) ((dev)->pci_device == 0x2592)
 #define IS_I945G(dev) ((dev)->pci_device == 0x2772)
-#define IS_I945GM(dev) ((dev)->pci_device == 0x27A2)
-
+#define IS_I945GM(dev) ((dev)->pci_device == 0x27A2 ||\
+                       (dev)->pci_device == 0x27AE)
 #define IS_I965G(dev) ((dev)->pci_device == 0x2972 || \
                       (dev)->pci_device == 0x2982 || \
                       (dev)->pci_device == 0x2992 || \
index 8cf91353b56afa82e64b48324a9c5e6aea65494b..7b8bb6949f5e877262312666a4991bf46c957c81 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 819433485d3b27a3dda97c621419573d0cb1cf1f..1a4d8319773c73ffd8a858ca4c150c2f58df9d97 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 a51876137880b26babbd24b6ae153aa6d2f9fad1..f92f06dec0d0a2fce3c09965e5e1b8570ca34acd 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);
                }
index e5c6f6af876558c0b92dea602c6d2f6eed1a23a5..c78b836f59dd33bac178a41a1dfc11f3d2209ad4 100644 (file)
@@ -181,6 +181,18 @@ struct scsi_cmnd *__scsi_get_command(struct Scsi_Host *shost, gfp_t gfp_mask)
        cmd = kmem_cache_alloc(shost->cmd_pool->cmd_slab,
                               gfp_mask | shost->cmd_pool->gfp_mask);
 
+       if (likely(cmd)) {
+               buf = kmem_cache_alloc(shost->cmd_pool->sense_slab,
+                                      gfp_mask | shost->cmd_pool->gfp_mask);
+               if (likely(buf)) {
+                       memset(cmd, 0, sizeof(*cmd));
+                       cmd->sense_buffer = buf;
+               } else {
+                       kmem_cache_free(shost->cmd_pool->cmd_slab, cmd);
+                       cmd = NULL;
+               }
+       }
+
        if (unlikely(!cmd)) {
                unsigned long flags;
 
@@ -197,16 +209,6 @@ struct scsi_cmnd *__scsi_get_command(struct Scsi_Host *shost, gfp_t gfp_mask)
                        memset(cmd, 0, sizeof(*cmd));
                        cmd->sense_buffer = buf;
                }
-       } else {
-               buf = kmem_cache_alloc(shost->cmd_pool->sense_slab,
-                                      gfp_mask | shost->cmd_pool->gfp_mask);
-               if (likely(buf)) {
-                       memset(cmd, 0, sizeof(*cmd));
-                       cmd->sense_buffer = buf;
-               } else {
-                       kmem_cache_free(shost->cmd_pool->cmd_slab, cmd);
-                       cmd = NULL;
-               }
        }
 
        return cmd;
index ca90c5192596f8c4f47628ced8d2aabdcdd82b37..445b7e812112572ba82925576b6129ebafe8aed5 100644 (file)
@@ -200,6 +200,8 @@ it8712f_wdt_disable(void)
 
        superio_outb(0, WDT_CONFIG);
        superio_outb(0, WDT_CONTROL);
+       if (revision >= 0x08)
+               superio_outb(0, WDT_TIMEOUT + 1);
        superio_outb(0, WDT_TIMEOUT);
 
        superio_exit();