From 6e723adc67130943897142515e654f66c516c93f Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Mon, 21 Nov 2011 15:39:37 -0800 Subject: [PATCH] 3.0 patches added patches: aacraid-controller-hangs-if-kernel-uses-non-default-aspm-policy.patch drm-i915-pch-save-restore-pch_port_hotplug-across-suspend.patch fix-warning-at-drivers-scsi-scsi_lib.c-1704.patch genirq-fix-irqfixup-irqpoll-regression.patch hpsa-disable-aspm.patch saa7164-add-support-for-another-hvr2200-hardware-revision.patch --- ...-kernel-uses-non-default-aspm-policy.patch | 65 ++++++++ ...tore-pch_port_hotplug-across-suspend.patch | 58 +++++++ ...ning-at-drivers-scsi-scsi_lib.c-1704.patch | 106 +++++++++++++ ...nirq-fix-irqfixup-irqpoll-regression.patch | 40 +++++ queue-3.0/hpsa-disable-aspm.patch | 42 +++++ ...or-another-hvr2200-hardware-revision.patch | 143 ++++++++++++++++++ queue-3.0/series | 6 + 7 files changed, 460 insertions(+) create mode 100644 queue-3.0/aacraid-controller-hangs-if-kernel-uses-non-default-aspm-policy.patch create mode 100644 queue-3.0/drm-i915-pch-save-restore-pch_port_hotplug-across-suspend.patch create mode 100644 queue-3.0/fix-warning-at-drivers-scsi-scsi_lib.c-1704.patch create mode 100644 queue-3.0/genirq-fix-irqfixup-irqpoll-regression.patch create mode 100644 queue-3.0/hpsa-disable-aspm.patch create mode 100644 queue-3.0/saa7164-add-support-for-another-hvr2200-hardware-revision.patch create mode 100644 queue-3.0/series diff --git a/queue-3.0/aacraid-controller-hangs-if-kernel-uses-non-default-aspm-policy.patch b/queue-3.0/aacraid-controller-hangs-if-kernel-uses-non-default-aspm-policy.patch new file mode 100644 index 00000000000..4bba2759e17 --- /dev/null +++ b/queue-3.0/aacraid-controller-hangs-if-kernel-uses-non-default-aspm-policy.patch @@ -0,0 +1,65 @@ +From cf16123c9c8e346ed1dd171295a678d77648d7f8 Mon Sep 17 00:00:00 2001 +From: Vasily Averin +Date: Fri, 11 Nov 2011 13:42:16 +0400 +Subject: [SCSI] aacraid: controller hangs if kernel uses non-default ASPM policy + +From: Vasily Averin + +commit cf16123c9c8e346ed1dd171295a678d77648d7f8 upstream. + +Aacraid controller can hang on some nodes if kernel uses non-default +(powersave) ASPM policy. Controller hangs shortly after successful load and +hardware detection. Scsi error handler detects this hang and tries to restart +hardware but it does not help. + +Initially it was noticed on RHEL6-based openVZ kernel after backporting +aacraid driver from mainline (RHEL6 kernel with original driver works well) +http://bugzilla.openvz.org/show_bug.cgi?id=2043 + +This issue happens because default ASPM policy was changed in Red Hat +kernels. Therefore guys from Red Hat have noticed this problem long time ago: +on Fedora 12 + https://bugzilla.redhat.com/show_bug.cgi?id=540478 +on Fedora 14 + https://bugzilla.redhat.com/show_bug.cgi?id=679385 + +In RHEL6 kernel this issue was fixed, ASPM was disabled in aacraid driver. In +kernel changelog I've found that seems it was done by Matthew Garrett: - +[scsi] aacraid: Disable ASPM by default (Matthew Garrett) [599735] + +However seems this patch was not submitted to mainline. I've reproduced this +issue on vanilla 3.1.0 kernel booted with "pcie_aspm.policy=powersave" option, +So I believe it makes sense to do it now. + +Signed-off-by: Vasily Averin +[mjg: Checking the Windows drivers indicates that they disable ASPM under all +circumstances, so:] +Acked-by: Matthew Garrett +Acked-by: Achim Leubner +Signed-off-by: James Bottomley +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/scsi/aacraid/linit.c | 4 ++++ + 1 file changed, 4 insertions(+) + +--- a/drivers/scsi/aacraid/linit.c ++++ b/drivers/scsi/aacraid/linit.c +@@ -38,6 +38,7 @@ + #include + #include + #include ++#include + #include + #include + #include +@@ -1108,6 +1109,9 @@ static int __devinit aac_probe_one(struc + unique_id++; + } + ++ pci_disable_link_state(pdev, PCIE_LINK_STATE_L0S | PCIE_LINK_STATE_L1 | ++ PCIE_LINK_STATE_CLKPM); ++ + error = pci_enable_device(pdev); + if (error) + goto out; diff --git a/queue-3.0/drm-i915-pch-save-restore-pch_port_hotplug-across-suspend.patch b/queue-3.0/drm-i915-pch-save-restore-pch_port_hotplug-across-suspend.patch new file mode 100644 index 00000000000..a91745e59bf --- /dev/null +++ b/queue-3.0/drm-i915-pch-save-restore-pch_port_hotplug-across-suspend.patch @@ -0,0 +1,58 @@ +From cda2bb78c24de7674eafa3210314dc75bed344a6 Mon Sep 17 00:00:00 2001 +From: Adam Jackson +Date: Tue, 26 Jul 2011 16:53:06 -0400 +Subject: drm/i915/pch: Save/restore PCH_PORT_HOTPLUG across suspend + +From: Adam Jackson + +commit cda2bb78c24de7674eafa3210314dc75bed344a6 upstream. + +At least on a Lenovo X220 the HPD bits of this are enabled at boot but +cleared after resume, which means plug interrupts stop working. + +This also happens to fix DP displays re-lighting on resume. I'm quite +certain that's an accident: the first DP link train inevitably fails on +that machine, and it's only serendipity that we're getting multiple plug +interrupts and the second train works. But I shall take my victories +where I get them. + +Signed-off-by: Adam Jackson +Tested-by: Keith Packard +Reviewed-by: Keith Packard +Signed-off-by: Keith Packard +Cc: Jonathan Nieder +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/gpu/drm/i915/i915_drv.h | 1 + + drivers/gpu/drm/i915/i915_suspend.c | 2 ++ + 2 files changed, 3 insertions(+) + +--- a/drivers/gpu/drm/i915/i915_drv.h ++++ b/drivers/gpu/drm/i915/i915_drv.h +@@ -541,6 +541,7 @@ typedef struct drm_i915_private { + u32 savePIPEB_LINK_M1; + u32 savePIPEB_LINK_N1; + u32 saveMCHBAR_RENDER_STANDBY; ++ u32 savePCH_PORT_HOTPLUG; + + struct { + /** Bridge to intel-gtt-ko */ +--- a/drivers/gpu/drm/i915/i915_suspend.c ++++ b/drivers/gpu/drm/i915/i915_suspend.c +@@ -814,6 +814,7 @@ int i915_save_state(struct drm_device *d + dev_priv->saveFDI_RXB_IMR = I915_READ(_FDI_RXB_IMR); + dev_priv->saveMCHBAR_RENDER_STANDBY = + I915_READ(RSTDBYCTL); ++ dev_priv->savePCH_PORT_HOTPLUG = I915_READ(PCH_PORT_HOTPLUG); + } else { + dev_priv->saveIER = I915_READ(IER); + dev_priv->saveIMR = I915_READ(IMR); +@@ -865,6 +866,7 @@ int i915_restore_state(struct drm_device + I915_WRITE(GTIMR, dev_priv->saveGTIMR); + I915_WRITE(_FDI_RXA_IMR, dev_priv->saveFDI_RXA_IMR); + I915_WRITE(_FDI_RXB_IMR, dev_priv->saveFDI_RXB_IMR); ++ I915_WRITE(PCH_PORT_HOTPLUG, dev_priv->savePCH_PORT_HOTPLUG); + } else { + I915_WRITE(IER, dev_priv->saveIER); + I915_WRITE(IMR, dev_priv->saveIMR); diff --git a/queue-3.0/fix-warning-at-drivers-scsi-scsi_lib.c-1704.patch b/queue-3.0/fix-warning-at-drivers-scsi-scsi_lib.c-1704.patch new file mode 100644 index 00000000000..56887512eba --- /dev/null +++ b/queue-3.0/fix-warning-at-drivers-scsi-scsi_lib.c-1704.patch @@ -0,0 +1,106 @@ +From 4e6c82b3614a18740ef63109d58743a359266daf Mon Sep 17 00:00:00 2001 +From: James Bottomley +Date: Mon, 7 Nov 2011 08:51:24 -0600 +Subject: [SCSI] fix WARNING: at drivers/scsi/scsi_lib.c:1704 + +From: James Bottomley + +commit 4e6c82b3614a18740ef63109d58743a359266daf upstream. + +On Mon, 2011-11-07 at 17:24 +1100, Stephen Rothwell wrote: +> Hi all, +> +> Starting some time last week I am getting the following during boot on +> our PPC970 blade: +> +> calling .ipr_init+0x0/0x68 @ 1 +> ipr: IBM Power RAID SCSI Device Driver version: 2.5.2 (April 27, 2011) +> ipr 0000:01:01.0: Found IOA with IRQ: 26 +> ipr 0000:01:01.0: Starting IOA initialization sequence. +> ipr 0000:01:01.0: Adapter firmware version: 06160039 +> ipr 0000:01:01.0: IOA initialized. +> scsi0 : IBM 572E Storage Adapter +> ------------[ cut here ]------------ +> WARNING: at drivers/scsi/scsi_lib.c:1704 +> Modules linked in: +> NIP: c00000000053b3d4 LR: c00000000053e5b0 CTR: c000000000541d70 +> REGS: c0000000783c2f60 TRAP: 0700 Not tainted (3.1.0-autokern1) +> MSR: 8000000000029032 CR: 24002024 XER: 20000002 +> TASK = c0000000783b8000[1] 'swapper' THREAD: c0000000783c0000 CPU: 0 +> GPR00: 0000000000000001 c0000000783c31e0 c000000000cf38b0 c00000000239a9d0 +> GPR04: c000000000cbe8f8 0000000000000000 c0000000783c3040 0000000000000000 +> GPR08: c000000075daf488 c000000078a3b7ff c000000000bcacc8 0000000000000000 +> GPR12: 0000000044002028 c000000007ffb000 0000000002e40000 000000000099b800 +> GPR16: 0000000000000000 c000000000bba5fc c000000000a61db8 0000000000000000 +> GPR20: 0000000001b77200 0000000000000000 c000000078990000 0000000000000001 +> GPR24: c000000002396828 0000000000000000 0000000000000000 c000000078a3b938 +> GPR28: fffffffffffffffa c0000000008ad2c0 c000000000c7faa8 c00000000239a9d0 +> NIP [c00000000053b3d4] .scsi_free_queue+0x24/0x90 +> LR [c00000000053e5b0] .scsi_alloc_sdev+0x280/0x2e0 +> Call Trace: +> [c0000000783c31e0] [c000000000c7faa8] wireless_seq_fops+0x278d0/0x2eb88 (unreliable) +> [c0000000783c3270] [c00000000053e5b0] .scsi_alloc_sdev+0x280/0x2e0 +> [c0000000783c3330] [c00000000053eba0] .scsi_probe_and_add_lun+0x390/0xb40 +> [c0000000783c34a0] [c00000000053f7ec] .__scsi_scan_target+0x16c/0x650 +> [c0000000783c35f0] [c00000000053fd90] .scsi_scan_channel+0xc0/0x100 +> [c0000000783c36a0] [c00000000053fefc] .scsi_scan_host_selected+0x12c/0x1c0 +> [c0000000783c3750] [c00000000083dcb4] .ipr_probe+0x2c0/0x390 +> [c0000000783c3830] [c0000000003f50b4] .local_pci_probe+0x34/0x50 +> [c0000000783c38a0] [c0000000003f5f78] .pci_device_probe+0x148/0x150 +> [c0000000783c3950] [c0000000004e1e8c] .driver_probe_device+0xdc/0x210 +> [c0000000783c39f0] [c0000000004e20cc] .__driver_attach+0x10c/0x110 +> [c0000000783c3a80] [c0000000004e1228] .bus_for_each_dev+0x98/0xf0 +> [c0000000783c3b30] [c0000000004e1bf8] .driver_attach+0x28/0x40 +> [c0000000783c3bb0] [c0000000004e07d8] .bus_add_driver+0x218/0x340 +> [c0000000783c3c60] [c0000000004e2a2c] .driver_register+0x9c/0x1b0 +> [c0000000783c3d00] [c0000000003f62d4] .__pci_register_driver+0x64/0x140 +> [c0000000783c3da0] [c000000000b99f88] .ipr_init+0x4c/0x68 +> [c0000000783c3e20] [c00000000000ad24] .do_one_initcall+0x1a4/0x1e0 +> [c0000000783c3ee0] [c000000000b512d0] .kernel_init+0x14c/0x1fc +> [c0000000783c3f90] [c000000000022468] .kernel_thread+0x54/0x70 +> Instruction dump: +> ebe1fff8 7c0803a6 4e800020 7c0802a6 fba1ffe8 fbe1fff8 7c7f1b78 f8010010 +> f821ff71 e8030398 3120ffff 7c090110 <0b000000> e86303b0 482de065 60000000 +> ---[ end trace 759bed76a85e8dec ]--- +> scsi 0:0:1:0: Direct-Access IBM-ESXS MAY2036RC T106 PQ: 0 ANSI: 5 +> ------------[ cut here ]------------ +> +> I get lots more of these. The obvious commit to point the finger at +> is 3308511c93e6 ("[SCSI] Make scsi_free_queue() kill pending SCSI +> commands") but the root cause may be something different. + +Caused by + +commit f7c9c6bb14f3104608a3a83cadea10a6943d2804 +Author: Anton Blanchard +Date: Thu Nov 3 08:56:22 2011 +1100 + + [SCSI] Fix block queue and elevator memory leak in scsi_alloc_sdev + +Doesn't completely do the teardown. The true fix is to do a proper +teardown instead of hand rolling it + +Reported-by: Stephen Rothwell +Tested-by: Stephen Rothwell +Signed-off-by: James Bottomley +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/scsi/scsi_scan.c | 6 +----- + 1 file changed, 1 insertion(+), 5 deletions(-) + +--- a/drivers/scsi/scsi_scan.c ++++ b/drivers/scsi/scsi_scan.c +@@ -319,11 +319,7 @@ static struct scsi_device *scsi_alloc_sd + return sdev; + + out_device_destroy: +- scsi_device_set_state(sdev, SDEV_DEL); +- transport_destroy_device(&sdev->sdev_gendev); +- put_device(&sdev->sdev_dev); +- scsi_free_queue(sdev->request_queue); +- put_device(&sdev->sdev_gendev); ++ __scsi_remove_device(sdev); + out: + if (display_failure_msg) + printk(ALLOC_FAILURE_MSG, __func__); diff --git a/queue-3.0/genirq-fix-irqfixup-irqpoll-regression.patch b/queue-3.0/genirq-fix-irqfixup-irqpoll-regression.patch new file mode 100644 index 00000000000..7e4eef83f46 --- /dev/null +++ b/queue-3.0/genirq-fix-irqfixup-irqpoll-regression.patch @@ -0,0 +1,40 @@ +From c75d720fca8a91ce99196d33adea383621027bf2 Mon Sep 17 00:00:00 2001 +From: Edward Donovan +Date: Tue, 1 Nov 2011 15:29:44 -0400 +Subject: genirq: Fix irqfixup, irqpoll regression + +From: Edward Donovan + +commit c75d720fca8a91ce99196d33adea383621027bf2 upstream. + +commit d05c65fff0 ("genirq: spurious: Run only one poller at a time") +introduced a regression, leaving the boot options 'irqfixup' and +'irqpoll' non-functional. The patch placed tests in each function, to +exit if the function is already running. The test in 'misrouted_irq' +exited when it should have proceeded, effectively disabling +'misrouted_irq' and 'poll_spurious_irqs'. + +The check for an already running poller needs to be "!= 1" not "== 1" +as "1" is the value when the first poller starts running. + +Signed-off-by: Edward Donovan +Cc: maciej.rutecki@gmail.com +Link: http://lkml.kernel.org/r/1320175784-6745-1-git-send-email-edward.donovan@numble.net +Signed-off-by: Thomas Gleixner +Signed-off-by: Greg Kroah-Hartman + +--- + kernel/irq/spurious.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/kernel/irq/spurious.c ++++ b/kernel/irq/spurious.c +@@ -115,7 +115,7 @@ static int misrouted_irq(int irq) + struct irq_desc *desc; + int i, ok = 0; + +- if (atomic_inc_return(&irq_poll_active) == 1) ++ if (atomic_inc_return(&irq_poll_active) != 1) + goto out; + + irq_poll_cpu = smp_processor_id(); diff --git a/queue-3.0/hpsa-disable-aspm.patch b/queue-3.0/hpsa-disable-aspm.patch new file mode 100644 index 00000000000..c2d32c8de48 --- /dev/null +++ b/queue-3.0/hpsa-disable-aspm.patch @@ -0,0 +1,42 @@ +From e5a44df85e8d78e5c2d3d2e4f59b460905691e2f Mon Sep 17 00:00:00 2001 +From: Matthew Garrett +Date: Fri, 11 Nov 2011 11:14:23 -0500 +Subject: [SCSI] hpsa: Disable ASPM + +From: Matthew Garrett + +commit e5a44df85e8d78e5c2d3d2e4f59b460905691e2f upstream. + +The Windows driver .inf disables ASPM on hpsa devices. Do the same because the +selection of a non default ASPM policy can cause the device to hang. + +Signed-off-by: Matthew Garrett +Acked-by: Mike Miller +Signed-off-by: James Bottomley +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/scsi/hpsa.c | 5 +++++ + 1 file changed, 5 insertions(+) + +--- a/drivers/scsi/hpsa.c ++++ b/drivers/scsi/hpsa.c +@@ -23,6 +23,7 @@ + #include + #include + #include ++#include + #include + #include + #include +@@ -3887,6 +3888,10 @@ static int __devinit hpsa_pci_init(struc + dev_warn(&h->pdev->dev, "controller appears to be disabled\n"); + return -ENODEV; + } ++ ++ pci_disable_link_state(h->pdev, PCIE_LINK_STATE_L0S | ++ PCIE_LINK_STATE_L1 | PCIE_LINK_STATE_CLKPM); ++ + err = pci_enable_device(h->pdev); + if (err) { + dev_warn(&h->pdev->dev, "unable to enable PCI device\n"); diff --git a/queue-3.0/saa7164-add-support-for-another-hvr2200-hardware-revision.patch b/queue-3.0/saa7164-add-support-for-another-hvr2200-hardware-revision.patch new file mode 100644 index 00000000000..7f7c20767e2 --- /dev/null +++ b/queue-3.0/saa7164-add-support-for-another-hvr2200-hardware-revision.patch @@ -0,0 +1,143 @@ +From 62dd28d0c659db29bdb89cfe9f0aefe42f0adfe9 Mon Sep 17 00:00:00 2001 +From: Tony Jago +Date: Fri, 12 Aug 2011 00:19:11 -0300 +Subject: [media] saa7164: Add support for another HVR2200 hardware revision + +From: Tony Jago + +commit 62dd28d0c659db29bdb89cfe9f0aefe42f0adfe9 upstream. + +Hauppauge have released a new model rev, sub id 8940, this adds +support. + +[stoth@kernellabs.com: I modified Tony's patch slightly in relation to the + card numbering in saa7164.h, appending rather than inserting the new card + - normal practise] +Signed-off-by: Tony Jago +Signed-off-by: Steven Toth +Signed-off-by: Mauro Carvalho Chehab +Signed-off-by: Stefan Bader +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/media/video/saa7164/saa7164-cards.c | 66 ++++++++++++++++++++++++++++ + drivers/media/video/saa7164/saa7164-dvb.c | 1 + drivers/media/video/saa7164/saa7164.h | 1 + 3 files changed, 68 insertions(+) + +--- a/drivers/media/video/saa7164/saa7164-cards.c ++++ b/drivers/media/video/saa7164/saa7164-cards.c +@@ -203,6 +203,66 @@ struct saa7164_board saa7164_boards[] = + .i2c_reg_len = REGLEN_8bit, + } }, + }, ++ [SAA7164_BOARD_HAUPPAUGE_HVR2200_4] = { ++ .name = "Hauppauge WinTV-HVR2200", ++ .porta = SAA7164_MPEG_DVB, ++ .portb = SAA7164_MPEG_DVB, ++ .portc = SAA7164_MPEG_ENCODER, ++ .portd = SAA7164_MPEG_ENCODER, ++ .porte = SAA7164_MPEG_VBI, ++ .portf = SAA7164_MPEG_VBI, ++ .chiprev = SAA7164_CHIP_REV3, ++ .unit = {{ ++ .id = 0x1d, ++ .type = SAA7164_UNIT_EEPROM, ++ .name = "4K EEPROM", ++ .i2c_bus_nr = SAA7164_I2C_BUS_0, ++ .i2c_bus_addr = 0xa0 >> 1, ++ .i2c_reg_len = REGLEN_8bit, ++ }, { ++ .id = 0x04, ++ .type = SAA7164_UNIT_TUNER, ++ .name = "TDA18271-1", ++ .i2c_bus_nr = SAA7164_I2C_BUS_1, ++ .i2c_bus_addr = 0xc0 >> 1, ++ .i2c_reg_len = REGLEN_8bit, ++ }, { ++ .id = 0x05, ++ .type = SAA7164_UNIT_ANALOG_DEMODULATOR, ++ .name = "TDA8290-1", ++ .i2c_bus_nr = SAA7164_I2C_BUS_1, ++ .i2c_bus_addr = 0x84 >> 1, ++ .i2c_reg_len = REGLEN_8bit, ++ }, { ++ .id = 0x1b, ++ .type = SAA7164_UNIT_TUNER, ++ .name = "TDA18271-2", ++ .i2c_bus_nr = SAA7164_I2C_BUS_2, ++ .i2c_bus_addr = 0xc0 >> 1, ++ .i2c_reg_len = REGLEN_8bit, ++ }, { ++ .id = 0x1c, ++ .type = SAA7164_UNIT_ANALOG_DEMODULATOR, ++ .name = "TDA8290-2", ++ .i2c_bus_nr = SAA7164_I2C_BUS_2, ++ .i2c_bus_addr = 0x84 >> 1, ++ .i2c_reg_len = REGLEN_8bit, ++ }, { ++ .id = 0x1e, ++ .type = SAA7164_UNIT_DIGITAL_DEMODULATOR, ++ .name = "TDA10048-1", ++ .i2c_bus_nr = SAA7164_I2C_BUS_1, ++ .i2c_bus_addr = 0x10 >> 1, ++ .i2c_reg_len = REGLEN_8bit, ++ }, { ++ .id = 0x1f, ++ .type = SAA7164_UNIT_DIGITAL_DEMODULATOR, ++ .name = "TDA10048-2", ++ .i2c_bus_nr = SAA7164_I2C_BUS_2, ++ .i2c_bus_addr = 0x12 >> 1, ++ .i2c_reg_len = REGLEN_8bit, ++ } }, ++ }, + [SAA7164_BOARD_HAUPPAUGE_HVR2250] = { + .name = "Hauppauge WinTV-HVR2250", + .porta = SAA7164_MPEG_DVB, +@@ -426,6 +486,10 @@ struct saa7164_subid saa7164_subids[] = + .subvendor = 0x0070, + .subdevice = 0x8851, + .card = SAA7164_BOARD_HAUPPAUGE_HVR2250_2, ++ }, { ++ .subvendor = 0x0070, ++ .subdevice = 0x8940, ++ .card = SAA7164_BOARD_HAUPPAUGE_HVR2200_4, + }, + }; + const unsigned int saa7164_idcount = ARRAY_SIZE(saa7164_subids); +@@ -469,6 +533,7 @@ void saa7164_gpio_setup(struct saa7164_d + case SAA7164_BOARD_HAUPPAUGE_HVR2200: + case SAA7164_BOARD_HAUPPAUGE_HVR2200_2: + case SAA7164_BOARD_HAUPPAUGE_HVR2200_3: ++ case SAA7164_BOARD_HAUPPAUGE_HVR2200_4: + case SAA7164_BOARD_HAUPPAUGE_HVR2250: + case SAA7164_BOARD_HAUPPAUGE_HVR2250_2: + case SAA7164_BOARD_HAUPPAUGE_HVR2250_3: +@@ -549,6 +614,7 @@ void saa7164_card_setup(struct saa7164_d + case SAA7164_BOARD_HAUPPAUGE_HVR2200: + case SAA7164_BOARD_HAUPPAUGE_HVR2200_2: + case SAA7164_BOARD_HAUPPAUGE_HVR2200_3: ++ case SAA7164_BOARD_HAUPPAUGE_HVR2200_4: + case SAA7164_BOARD_HAUPPAUGE_HVR2250: + case SAA7164_BOARD_HAUPPAUGE_HVR2250_2: + case SAA7164_BOARD_HAUPPAUGE_HVR2250_3: +--- a/drivers/media/video/saa7164/saa7164-dvb.c ++++ b/drivers/media/video/saa7164/saa7164-dvb.c +@@ -475,6 +475,7 @@ int saa7164_dvb_register(struct saa7164_ + case SAA7164_BOARD_HAUPPAUGE_HVR2200: + case SAA7164_BOARD_HAUPPAUGE_HVR2200_2: + case SAA7164_BOARD_HAUPPAUGE_HVR2200_3: ++ case SAA7164_BOARD_HAUPPAUGE_HVR2200_4: + i2c_bus = &dev->i2c_bus[port->nr + 1]; + switch (port->nr) { + case 0: +--- a/drivers/media/video/saa7164/saa7164.h ++++ b/drivers/media/video/saa7164/saa7164.h +@@ -83,6 +83,7 @@ + #define SAA7164_BOARD_HAUPPAUGE_HVR2200_3 6 + #define SAA7164_BOARD_HAUPPAUGE_HVR2250_2 7 + #define SAA7164_BOARD_HAUPPAUGE_HVR2250_3 8 ++#define SAA7164_BOARD_HAUPPAUGE_HVR2200_4 9 + + #define SAA7164_MAX_UNITS 8 + #define SAA7164_TS_NUMBER_OF_LINES 312 diff --git a/queue-3.0/series b/queue-3.0/series new file mode 100644 index 00000000000..a4455377b24 --- /dev/null +++ b/queue-3.0/series @@ -0,0 +1,6 @@ +genirq-fix-irqfixup-irqpoll-regression.patch +fix-warning-at-drivers-scsi-scsi_lib.c-1704.patch +hpsa-disable-aspm.patch +aacraid-controller-hangs-if-kernel-uses-non-default-aspm-policy.patch +saa7164-add-support-for-another-hvr2200-hardware-revision.patch +drm-i915-pch-save-restore-pch_port_hotplug-across-suspend.patch -- 2.47.3