]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
more .32 patches
authorGreg Kroah-Hartman <gregkh@suse.de>
Mon, 25 Jan 2010 20:29:12 +0000 (12:29 -0800)
committerGreg Kroah-Hartman <gregkh@suse.de>
Mon, 25 Jan 2010 20:29:12 +0000 (12:29 -0800)
12 files changed:
queue-2.6.32/alsa-hda-add-pci-ids-for-nvidia-g2xx-series.patch [new file with mode: 0644]
queue-2.6.32/atl1c-use-common_task-instead-of-reset_task-and-link_chg_task.patch [new file with mode: 0644]
queue-2.6.32/atl1e-disable-netif_f_tso6-for-hardware-limit.patch [new file with mode: 0644]
queue-2.6.32/itco_wdt-add-support-for-intel-ibex-peak.patch [new file with mode: 0644]
queue-2.6.32/netfilter-xtables-fix-conntrack-match-v1-ipt-save-output.patch [new file with mode: 0644]
queue-2.6.32/series
queue-2.6.32/usb-ftdi_sio-add-usb-device-id-s-for-b-b-electronics-line.patch [new file with mode: 0644]
queue-2.6.32/usb-mos7840-add-device-ids-for-b-b-electronics-devices.patch [new file with mode: 0644]
queue-2.6.32/v4l-dvb-13168-add-support-for-asus-europa-hybrid-dvb-t-card-saa7134-subvendor-id-0x1043-device-id-0x4847.patch [new file with mode: 0644]
queue-2.6.32/v4l-dvb-13569-smsusb-add-autodetection-support-for-five-additional-hauppauge-usb-ids.patch [new file with mode: 0644]
queue-2.6.32/v4l-dvb-13680a-docbook-media-copy-images-after-building-html.patch [new file with mode: 0644]
queue-2.6.32/v4l-dvb-13680b-docbook-media-create-links-for-included-sources.patch [new file with mode: 0644]

diff --git a/queue-2.6.32/alsa-hda-add-pci-ids-for-nvidia-g2xx-series.patch b/queue-2.6.32/alsa-hda-add-pci-ids-for-nvidia-g2xx-series.patch
new file mode 100644 (file)
index 0000000..1749ec9
--- /dev/null
@@ -0,0 +1,30 @@
+From 6dd7dc767e35cfbb38f8c63a50b1c27acad25920 Mon Sep 17 00:00:00 2001
+From: Stefan Ringel <stefan.ringel@arcor.de>
+Date: Mon, 14 Dec 2009 11:27:11 +0100
+Subject: ALSA: hda - Add PCI IDs for Nvidia G2xx-series
+
+From: Stefan Ringel <stefan.ringel@arcor.de>
+
+commit 6dd7dc767e35cfbb38f8c63a50b1c27acad25920 upstream.
+
+Signed-off-by: Stefan Ringel <stefan.ringel@arcor.de>
+Signed-off-by: Takashi Iwai <tiwai@suse.de>
+Cc: Ben Hutchings <ben@decadent.org.uk>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ sound/pci/hda/hda_intel.c |    3 +++
+ 1 file changed, 3 insertions(+)
+
+--- a/sound/pci/hda/hda_intel.c
++++ b/sound/pci/hda/hda_intel.c
+@@ -2694,6 +2694,9 @@ static struct pci_device_id azx_ids[] = 
+       { PCI_DEVICE(0x10de, 0x0ac1), .driver_data = AZX_DRIVER_NVIDIA },
+       { PCI_DEVICE(0x10de, 0x0ac2), .driver_data = AZX_DRIVER_NVIDIA },
+       { PCI_DEVICE(0x10de, 0x0ac3), .driver_data = AZX_DRIVER_NVIDIA },
++      { PCI_DEVICE(0x10de, 0x0be2), .driver_data = AZX_DRIVER_NVIDIA },
++      { PCI_DEVICE(0x10de, 0x0be3), .driver_data = AZX_DRIVER_NVIDIA },
++      { PCI_DEVICE(0x10de, 0x0be4), .driver_data = AZX_DRIVER_NVIDIA },
+       { PCI_DEVICE(0x10de, 0x0d94), .driver_data = AZX_DRIVER_NVIDIA },
+       { PCI_DEVICE(0x10de, 0x0d95), .driver_data = AZX_DRIVER_NVIDIA },
+       { PCI_DEVICE(0x10de, 0x0d96), .driver_data = AZX_DRIVER_NVIDIA },
diff --git a/queue-2.6.32/atl1c-use-common_task-instead-of-reset_task-and-link_chg_task.patch b/queue-2.6.32/atl1c-use-common_task-instead-of-reset_task-and-link_chg_task.patch
new file mode 100644 (file)
index 0000000..920869d
--- /dev/null
@@ -0,0 +1,181 @@
+From cb19054697e92a793f336380fd72c588521178ff Mon Sep 17 00:00:00 2001
+From: Jie Yang <jie.yang@atheros.com>
+Date: Sun, 6 Dec 2009 23:16:58 +0000
+Subject: atl1c:use common_task instead of reset_task and link_chg_task
+
+From: Jie Yang <jie.yang@atheros.com>
+
+commit cb19054697e92a793f336380fd72c588521178ff upstream.
+
+use common_task instead of reset_task and link_chg_task, so it fix "call cancel_work_sync
+from the work itself".
+
+Signed-off-by: Jie Yang <jie.yang@atheros.com>
+Signed-off-by: David S. Miller <davem@davemloft.net>
+Cc: Ben Hutchings <ben@decadent.org.uk>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/net/atl1c/atl1c.h      |    6 ++-
+ drivers/net/atl1c/atl1c_main.c |   72 ++++++++++++++++++-----------------------
+ 2 files changed, 37 insertions(+), 41 deletions(-)
+
+--- a/drivers/net/atl1c/atl1c.h
++++ b/drivers/net/atl1c/atl1c.h
+@@ -534,6 +534,9 @@ struct atl1c_adapter {
+ #define __AT_TESTING        0x0001
+ #define __AT_RESETTING      0x0002
+ #define __AT_DOWN           0x0003
++      u8 work_event;
++#define ATL1C_WORK_EVENT_RESET                0x01
++#define ATL1C_WORK_EVENT_LINK_CHANGE  0x02
+       u32 msg_enable;
+       bool have_msi;
+@@ -545,8 +548,7 @@ struct atl1c_adapter {
+       spinlock_t tx_lock;
+       atomic_t irq_sem;
+-      struct work_struct reset_task;
+-      struct work_struct link_chg_task;
++      struct work_struct common_task;
+       struct timer_list watchdog_timer;
+       struct timer_list phy_config_timer;
+--- a/drivers/net/atl1c/atl1c_main.c
++++ b/drivers/net/atl1c/atl1c_main.c
+@@ -198,27 +198,12 @@ static void atl1c_phy_config(unsigned lo
+ void atl1c_reinit_locked(struct atl1c_adapter *adapter)
+ {
+-
+       WARN_ON(in_interrupt());
+       atl1c_down(adapter);
+       atl1c_up(adapter);
+       clear_bit(__AT_RESETTING, &adapter->flags);
+ }
+-static void atl1c_reset_task(struct work_struct *work)
+-{
+-      struct atl1c_adapter *adapter;
+-      struct net_device *netdev;
+-
+-      adapter = container_of(work, struct atl1c_adapter, reset_task);
+-      netdev = adapter->netdev;
+-
+-      netif_device_detach(netdev);
+-      atl1c_down(adapter);
+-      atl1c_up(adapter);
+-      netif_device_attach(netdev);
+-}
+-
+ static void atl1c_check_link_status(struct atl1c_adapter *adapter)
+ {
+       struct atl1c_hw *hw = &adapter->hw;
+@@ -275,18 +260,6 @@ static void atl1c_check_link_status(stru
+       }
+ }
+-/*
+- * atl1c_link_chg_task - deal with link change event Out of interrupt context
+- * @netdev: network interface device structure
+- */
+-static void atl1c_link_chg_task(struct work_struct *work)
+-{
+-      struct atl1c_adapter *adapter;
+-
+-      adapter = container_of(work, struct atl1c_adapter, link_chg_task);
+-      atl1c_check_link_status(adapter);
+-}
+-
+ static void atl1c_link_chg_event(struct atl1c_adapter *adapter)
+ {
+       struct net_device *netdev = adapter->netdev;
+@@ -311,20 +284,40 @@ static void atl1c_link_chg_event(struct 
+                       adapter->link_speed = SPEED_0;
+               }
+       }
+-      schedule_work(&adapter->link_chg_task);
++
++      adapter->work_event |= ATL1C_WORK_EVENT_LINK_CHANGE;
++      schedule_work(&adapter->common_task);
+ }
+-static void atl1c_del_timer(struct atl1c_adapter *adapter)
++static void atl1c_common_task(struct work_struct *work)
+ {
+-      del_timer_sync(&adapter->phy_config_timer);
++      struct atl1c_adapter *adapter;
++      struct net_device *netdev;
++
++      adapter = container_of(work, struct atl1c_adapter, common_task);
++      netdev = adapter->netdev;
++
++      if (adapter->work_event & ATL1C_WORK_EVENT_RESET) {
++              netif_device_detach(netdev);
++              atl1c_down(adapter);
++              atl1c_up(adapter);
++              netif_device_attach(netdev);
++              return;
++      }
++
++      if (adapter->work_event & ATL1C_WORK_EVENT_LINK_CHANGE)
++              atl1c_check_link_status(adapter);
++
++      return;
+ }
+-static void atl1c_cancel_work(struct atl1c_adapter *adapter)
++
++static void atl1c_del_timer(struct atl1c_adapter *adapter)
+ {
+-      cancel_work_sync(&adapter->reset_task);
+-      cancel_work_sync(&adapter->link_chg_task);
++      del_timer_sync(&adapter->phy_config_timer);
+ }
++
+ /*
+  * atl1c_tx_timeout - Respond to a Tx Hang
+  * @netdev: network interface device structure
+@@ -334,7 +327,8 @@ static void atl1c_tx_timeout(struct net_
+       struct atl1c_adapter *adapter = netdev_priv(netdev);
+       /* Do the reset outside of interrupt context */
+-      schedule_work(&adapter->reset_task);
++      adapter->work_event |= ATL1C_WORK_EVENT_RESET;
++      schedule_work(&adapter->common_task);
+ }
+ /*
+@@ -1536,7 +1530,8 @@ static irqreturn_t atl1c_intr(int irq, v
+                       /* reset MAC */
+                       hw->intr_mask &= ~ISR_ERROR;
+                       AT_WRITE_REG(hw, REG_IMR, hw->intr_mask);
+-                      schedule_work(&adapter->reset_task);
++                      adapter->work_event |= ATL1C_WORK_EVENT_RESET;
++                      schedule_work(&adapter->common_task);
+                       break;
+               }
+@@ -2200,8 +2195,7 @@ void atl1c_down(struct atl1c_adapter *ad
+       struct net_device *netdev = adapter->netdev;
+       atl1c_del_timer(adapter);
+-      atl1c_cancel_work(adapter);
+-
++      adapter->work_event = 0; /* clear all event */
+       /* signal that we're down so the interrupt handler does not
+        * reschedule our watchdog timer */
+       set_bit(__AT_DOWN, &adapter->flags);
+@@ -2601,8 +2595,8 @@ static int __devinit atl1c_probe(struct 
+                       adapter->hw.mac_addr[4], adapter->hw.mac_addr[5]);
+       atl1c_hw_set_mac_addr(&adapter->hw);
+-      INIT_WORK(&adapter->reset_task, atl1c_reset_task);
+-      INIT_WORK(&adapter->link_chg_task, atl1c_link_chg_task);
++      INIT_WORK(&adapter->common_task, atl1c_common_task);
++      adapter->work_event = 0;
+       err = register_netdev(netdev);
+       if (err) {
+               dev_err(&pdev->dev, "register netdevice failed\n");
diff --git a/queue-2.6.32/atl1e-disable-netif_f_tso6-for-hardware-limit.patch b/queue-2.6.32/atl1e-disable-netif_f_tso6-for-hardware-limit.patch
new file mode 100644 (file)
index 0000000..bee21ad
--- /dev/null
@@ -0,0 +1,71 @@
+From 7c7afb083675b3d4d012a2aacec3a958ba484ab0 Mon Sep 17 00:00:00 2001
+From: Jie Yang <jie.yang@atheros.com>
+Date: Tue, 1 Dec 2009 17:18:34 +0000
+Subject: atl1e:disable NETIF_F_TSO6 for hardware limit
+
+From: Jie Yang <jie.yang@atheros.com>
+
+commit 7c7afb083675b3d4d012a2aacec3a958ba484ab0 upstream.
+
+For hardware limit to support TSOV6, just disable this feature
+Signed-off-by: Jie Yang <jie.yang@atheros.com>
+Signed-off-by: David S. Miller <davem@davemloft.net>
+Cc: Ben Hutchings <ben@decadent.org.uk>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/net/atl1e/atl1e_main.c |   36 ------------------------------------
+ 1 file changed, 36 deletions(-)
+
+--- a/drivers/net/atl1e/atl1e_main.c
++++ b/drivers/net/atl1e/atl1e_main.c
+@@ -1666,41 +1666,6 @@ static int atl1e_tso_csum(struct atl1e_a
+                       }
+                       return 0;
+               }
+-
+-              if (offload_type & SKB_GSO_TCPV6) {
+-                      real_len = (((unsigned char *)ipv6_hdr(skb) - skb->data)
+-                                      + ntohs(ipv6_hdr(skb)->payload_len));
+-                      if (real_len < skb->len)
+-                              pskb_trim(skb, real_len);
+-
+-                      /* check payload == 0 byte ? */
+-                      hdr_len = (skb_transport_offset(skb) + tcp_hdrlen(skb));
+-                      if (unlikely(skb->len == hdr_len)) {
+-                              /* only xsum need */
+-                              dev_warn(&pdev->dev,
+-                                      "IPV6 tso with zero data??\n");
+-                              goto check_sum;
+-                      } else {
+-                              tcp_hdr(skb)->check = ~csum_ipv6_magic(
+-                                              &ipv6_hdr(skb)->saddr,
+-                                              &ipv6_hdr(skb)->daddr,
+-                                              0, IPPROTO_TCP, 0);
+-                              tpd->word3 |= 1 << TPD_IP_VERSION_SHIFT;
+-                              hdr_len >>= 1;
+-                              tpd->word3 |= (hdr_len & TPD_V6_IPHLLO_MASK) <<
+-                                      TPD_V6_IPHLLO_SHIFT;
+-                              tpd->word3 |= ((hdr_len >> 3) &
+-                                      TPD_V6_IPHLHI_MASK) <<
+-                                      TPD_V6_IPHLHI_SHIFT;
+-                              tpd->word3 |= (tcp_hdrlen(skb) >> 2 &
+-                                      TPD_TCPHDRLEN_MASK) <<
+-                                      TPD_TCPHDRLEN_SHIFT;
+-                              tpd->word3 |= ((skb_shinfo(skb)->gso_size) &
+-                                      TPD_MSS_MASK) << TPD_MSS_SHIFT;
+-                                      tpd->word3 |= 1 << TPD_SEGMENT_EN_SHIFT;
+-                      }
+-              }
+-              return 0;
+       }
+ check_sum:
+@@ -2289,7 +2254,6 @@ static int atl1e_init_netdev(struct net_
+               NETIF_F_HW_VLAN_TX | NETIF_F_HW_VLAN_RX;
+       netdev->features |= NETIF_F_LLTX;
+       netdev->features |= NETIF_F_TSO;
+-      netdev->features |= NETIF_F_TSO6;
+       return 0;
+ }
diff --git a/queue-2.6.32/itco_wdt-add-support-for-intel-ibex-peak.patch b/queue-2.6.32/itco_wdt-add-support-for-intel-ibex-peak.patch
new file mode 100644 (file)
index 0000000..5c7be26
--- /dev/null
@@ -0,0 +1,63 @@
+From 79e8941dda254505bb8af37b3a009165dfb7e98a Mon Sep 17 00:00:00 2001
+From: Seth Heasley <seth.heasley@intel.com>
+Date: Wed, 11 Nov 2009 02:24:01 +0100
+Subject: [WATCHDOG] iTCO_wdt: Add support for Intel Ibex Peak
+
+From: Seth Heasley <seth.heasley@intel.com>
+
+commit 79e8941dda254505bb8af37b3a009165dfb7e98a upstream.
+
+Add the Intel Ibex Peak (PCH) Device IDs to iTCO_wdt.c.
+
+Signed-off-by: Seth Heasley <seth.heasley@intel.com>
+Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
+Cc: Ben Hutchings <ben@decadent.org.uk>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/watchdog/iTCO_wdt.c |   13 ++++++++++++-
+ 1 file changed, 12 insertions(+), 1 deletion(-)
+
+--- a/drivers/watchdog/iTCO_wdt.c
++++ b/drivers/watchdog/iTCO_wdt.c
+@@ -54,7 +54,9 @@
+  *    82801JIB (ICH10)     : document number 319973-002, 319974-002,
+  *    82801JIR (ICH10R)    : document number 319973-002, 319974-002,
+  *    82801JD  (ICH10D)    : document number 319973-002, 319974-002,
+- *    82801JDO (ICH10DO)   : document number 319973-002, 319974-002
++ *    82801JDO (ICH10DO)   : document number 319973-002, 319974-002,
++ *    5 Series (PCH)       : document number 322169-001, 322170-001,
++ *    3400 Series (PCH)    : document number 322169-001, 322170-001
+  */
+ /*
+@@ -122,6 +124,9 @@ enum iTCO_chipsets {
+       TCO_ICH10R,     /* ICH10R */
+       TCO_ICH10D,     /* ICH10D */
+       TCO_ICH10DO,    /* ICH10DO */
++      TCO_PCH,        /* PCH Desktop Full Featured */
++      TCO_PCHM,       /* PCH Mobile Full Featured */
++      TCO_PCHMSFF,    /* PCH Mobile SFF Full Featured */
+ };
+ static struct {
+@@ -162,6 +167,9 @@ static struct {
+       {"ICH10R", 2},
+       {"ICH10D", 2},
+       {"ICH10DO", 2},
++      {"PCH Desktop Full Featured", 2},
++      {"PCH Mobile Full Featured", 2},
++      {"PCH Mobile SFF Full Featured", 2},
+       {NULL, 0}
+ };
+@@ -230,6 +238,9 @@ static struct pci_device_id iTCO_wdt_pci
+       { ITCO_PCI_DEVICE(0x3a16,                               TCO_ICH10R)},
+       { ITCO_PCI_DEVICE(0x3a1a,                               TCO_ICH10D)},
+       { ITCO_PCI_DEVICE(0x3a14,                               TCO_ICH10DO)},
++      { ITCO_PCI_DEVICE(0x3b00,                               TCO_PCH)},
++      { ITCO_PCI_DEVICE(0x3b01,                               TCO_PCHM)},
++      { ITCO_PCI_DEVICE(0x3b0d,                               TCO_PCHMSFF)},
+       { 0, },                 /* End of list */
+ };
+ MODULE_DEVICE_TABLE(pci, iTCO_wdt_pci_tbl);
diff --git a/queue-2.6.32/netfilter-xtables-fix-conntrack-match-v1-ipt-save-output.patch b/queue-2.6.32/netfilter-xtables-fix-conntrack-match-v1-ipt-save-output.patch
new file mode 100644 (file)
index 0000000..cdf0984
--- /dev/null
@@ -0,0 +1,177 @@
+From 3a0429292daa0e1ec848bd26479f5e48b0d54a42 Mon Sep 17 00:00:00 2001
+From: Florian Westphal <fw@strlen.de>
+Date: Mon, 23 Nov 2009 10:43:57 +0100
+Subject: netfilter: xtables: fix conntrack match v1 ipt-save output
+
+From: Florian Westphal <fw@strlen.de>
+
+commit 3a0429292daa0e1ec848bd26479f5e48b0d54a42 upstream.
+
+commit d6d3f08b0fd998b647a05540cedd11a067b72867
+(netfilter: xtables: conntrack match revision 2) does break the
+v1 conntrack match iptables-save output in a subtle way.
+
+Problem is as follows:
+
+    up = kmalloc(sizeof(*up), GFP_KERNEL);
+[..]
+   /*
+    * The strategy here is to minimize the overhead of v1 matching,
+    * by prebuilding a v2 struct and putting the pointer into the
+    * v1 dataspace.
+    */
+    memcpy(up, info, offsetof(typeof(*info), state_mask));
+[..]
+    *(void **)info  = up;
+
+As the v2 struct pointer is saved in the match data space,
+it clobbers the first structure member (->origsrc_addr).
+
+Because the _v1 match function grabs this pointer and does not actually
+look at the v1 origsrc, run time functionality does not break.
+But iptables -nvL (or iptables-save) cannot know that v1 origsrc_addr
+has been overloaded in this way:
+
+$ iptables -p tcp -A OUTPUT -m conntrack --ctorigsrc 10.0.0.1 -j ACCEPT
+$ iptables-save
+-A OUTPUT -p tcp -m conntrack --ctorigsrc 128.173.134.206 -j ACCEPT
+
+(128.173... is the address to the v2 match structure).
+
+To fix this, we take advantage of the fact that the v1 and v2 structures
+are identical with exception of the last two structure members (u8 in v1,
+u16 in v2).
+
+We extract them as early as possible and prevent the v2 matching function
+from looking at those two members directly.
+
+Previously reported by Michel Messerschmidt via Ben Hutchings, also
+see Debian Bug tracker #556587.
+
+Signed-off-by: Florian Westphal <fw@strlen.de>
+Signed-off-by: Patrick McHardy <kaber@trash.net>
+Cc: Ben Hutchings <ben@decadent.org.uk>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ net/netfilter/xt_conntrack.c |   61 +++++++++++--------------------------------
+ 1 file changed, 17 insertions(+), 44 deletions(-)
+
+--- a/net/netfilter/xt_conntrack.c
++++ b/net/netfilter/xt_conntrack.c
+@@ -113,7 +113,8 @@ ct_proto_port_check(const struct xt_conn
+ }
+ static bool
+-conntrack_mt(const struct sk_buff *skb, const struct xt_match_param *par)
++conntrack_mt(const struct sk_buff *skb, const struct xt_match_param *par,
++             u16 state_mask, u16 status_mask)
+ {
+       const struct xt_conntrack_mtinfo2 *info = par->matchinfo;
+       enum ip_conntrack_info ctinfo;
+@@ -136,7 +137,7 @@ conntrack_mt(const struct sk_buff *skb, 
+                       if (test_bit(IPS_DST_NAT_BIT, &ct->status))
+                               statebit |= XT_CONNTRACK_STATE_DNAT;
+               }
+-              if (!!(info->state_mask & statebit) ^
++              if (!!(state_mask & statebit) ^
+                   !(info->invert_flags & XT_CONNTRACK_STATE))
+                       return false;
+       }
+@@ -172,7 +173,7 @@ conntrack_mt(const struct sk_buff *skb, 
+               return false;
+       if ((info->match_flags & XT_CONNTRACK_STATUS) &&
+-          (!!(info->status_mask & ct->status) ^
++          (!!(status_mask & ct->status) ^
+           !(info->invert_flags & XT_CONNTRACK_STATUS)))
+               return false;
+@@ -192,11 +193,17 @@ conntrack_mt(const struct sk_buff *skb, 
+ static bool
+ conntrack_mt_v1(const struct sk_buff *skb, const struct xt_match_param *par)
+ {
+-      const struct xt_conntrack_mtinfo2 *const *info = par->matchinfo;
+-      struct xt_match_param newpar = *par;
++      const struct xt_conntrack_mtinfo1 *info = par->matchinfo;
+-      newpar.matchinfo = *info;
+-      return conntrack_mt(skb, &newpar);
++      return conntrack_mt(skb, par, info->state_mask, info->status_mask);
++}
++
++static bool
++conntrack_mt_v2(const struct sk_buff *skb, const struct xt_match_param *par)
++{
++      const struct xt_conntrack_mtinfo2 *info = par->matchinfo;
++
++      return conntrack_mt(skb, par, info->state_mask, info->status_mask);
+ }
+ static bool conntrack_mt_check(const struct xt_mtchk_param *par)
+@@ -209,45 +216,11 @@ static bool conntrack_mt_check(const str
+       return true;
+ }
+-static bool conntrack_mt_check_v1(const struct xt_mtchk_param *par)
+-{
+-      struct xt_conntrack_mtinfo1 *info = par->matchinfo;
+-      struct xt_conntrack_mtinfo2 *up;
+-      int ret = conntrack_mt_check(par);
+-
+-      if (ret < 0)
+-              return ret;
+-
+-      up = kmalloc(sizeof(*up), GFP_KERNEL);
+-      if (up == NULL) {
+-              nf_ct_l3proto_module_put(par->family);
+-              return -ENOMEM;
+-      }
+-
+-      /*
+-       * The strategy here is to minimize the overhead of v1 matching,
+-       * by prebuilding a v2 struct and putting the pointer into the
+-       * v1 dataspace.
+-       */
+-      memcpy(up, info, offsetof(typeof(*info), state_mask));
+-      up->state_mask  = info->state_mask;
+-      up->status_mask = info->status_mask;
+-      *(void **)info  = up;
+-      return true;
+-}
+-
+ static void conntrack_mt_destroy(const struct xt_mtdtor_param *par)
+ {
+       nf_ct_l3proto_module_put(par->family);
+ }
+-static void conntrack_mt_destroy_v1(const struct xt_mtdtor_param *par)
+-{
+-      struct xt_conntrack_mtinfo2 **info = par->matchinfo;
+-      kfree(*info);
+-      conntrack_mt_destroy(par);
+-}
+-
+ static struct xt_match conntrack_mt_reg[] __read_mostly = {
+       {
+               .name       = "conntrack",
+@@ -255,8 +228,8 @@ static struct xt_match conntrack_mt_reg[
+               .family     = NFPROTO_UNSPEC,
+               .matchsize  = sizeof(struct xt_conntrack_mtinfo1),
+               .match      = conntrack_mt_v1,
+-              .checkentry = conntrack_mt_check_v1,
+-              .destroy    = conntrack_mt_destroy_v1,
++              .checkentry = conntrack_mt_check,
++              .destroy    = conntrack_mt_destroy,
+               .me         = THIS_MODULE,
+       },
+       {
+@@ -264,7 +237,7 @@ static struct xt_match conntrack_mt_reg[
+               .revision   = 2,
+               .family     = NFPROTO_UNSPEC,
+               .matchsize  = sizeof(struct xt_conntrack_mtinfo2),
+-              .match      = conntrack_mt,
++              .match      = conntrack_mt_v2,
+               .checkentry = conntrack_mt_check,
+               .destroy    = conntrack_mt_destroy,
+               .me         = THIS_MODULE,
index 14923c1a32365f2623ccfbbae628f240224b6077..19897f829cca3d6872aae76c770cbd7788d500f5 100644 (file)
@@ -10,3 +10,14 @@ powerpc-fsl-add-pci-device-ids-for-new-qoirq-chips.patch
 davinci-dm646x-add-support-for-3.x-silicon-revision.patch
 input-alps-add-interleaved-protocol-support-dell-e6x00-series.patch
 driver-core-devtmpfs-set-root-directory-mode-to-0755.patch
+alsa-hda-add-pci-ids-for-nvidia-g2xx-series.patch
+v4l-dvb-13569-smsusb-add-autodetection-support-for-five-additional-hauppauge-usb-ids.patch
+usb-mos7840-add-device-ids-for-b-b-electronics-devices.patch
+usb-ftdi_sio-add-usb-device-id-s-for-b-b-electronics-line.patch
+v4l-dvb-13168-add-support-for-asus-europa-hybrid-dvb-t-card-saa7134-subvendor-id-0x1043-device-id-0x4847.patch
+itco_wdt-add-support-for-intel-ibex-peak.patch
+atl1c-use-common_task-instead-of-reset_task-and-link_chg_task.patch
+atl1e-disable-netif_f_tso6-for-hardware-limit.patch
+v4l-dvb-13680a-docbook-media-copy-images-after-building-html.patch
+v4l-dvb-13680b-docbook-media-create-links-for-included-sources.patch
+netfilter-xtables-fix-conntrack-match-v1-ipt-save-output.patch
diff --git a/queue-2.6.32/usb-ftdi_sio-add-usb-device-id-s-for-b-b-electronics-line.patch b/queue-2.6.32/usb-ftdi_sio-add-usb-device-id-s-for-b-b-electronics-line.patch
new file mode 100644 (file)
index 0000000..03ac94b
--- /dev/null
@@ -0,0 +1,65 @@
+From a8cbd90a0410096e152f68a4e114a8b5c7abb49b Mon Sep 17 00:00:00 2001
+From: Cliff Brake <cbrake@bec-systems.com>
+Date: Tue, 1 Dec 2009 09:53:42 -0500
+Subject: USB: ftdi_sio: add USB device ID's for B&B Electronics line
+
+From: Cliff Brake <cbrake@bec-systems.com>
+
+commit a8cbd90a0410096e152f68a4e114a8b5c7abb49b upstream.
+
+Reviewed-by: John Pilles <jpilles@bb-elec.com>
+Signed-off-by: Cliff Brake <cbrake@bec-systems.com>
+Cc: Ben Hutchings <ben@decadent.org.uk>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/usb/serial/ftdi_sio.c |   14 ++++++++++++++
+ drivers/usb/serial/ftdi_sio.h |   14 ++++++++++++++
+ 2 files changed, 28 insertions(+)
+
+--- a/drivers/usb/serial/ftdi_sio.c
++++ b/drivers/usb/serial/ftdi_sio.c
+@@ -598,6 +598,20 @@ static struct usb_device_id id_table_com
+       { USB_DEVICE(BANDB_VID, BANDB_USOTL4_PID) },
+       { USB_DEVICE(BANDB_VID, BANDB_USTL4_PID) },
+       { USB_DEVICE(BANDB_VID, BANDB_USO9ML2_PID) },
++      { USB_DEVICE(BANDB_VID, BANDB_USOPTL4_PID) },
++      { USB_DEVICE(BANDB_VID, BANDB_USPTL4_PID) },
++      { USB_DEVICE(BANDB_VID, BANDB_USO9ML2DR_2_PID) },
++      { USB_DEVICE(BANDB_VID, BANDB_USO9ML2DR_PID) },
++      { USB_DEVICE(BANDB_VID, BANDB_USOPTL4DR2_PID) },
++      { USB_DEVICE(BANDB_VID, BANDB_USOPTL4DR_PID) },
++      { USB_DEVICE(BANDB_VID, BANDB_485USB9F_2W_PID) },
++      { USB_DEVICE(BANDB_VID, BANDB_485USB9F_4W_PID) },
++      { USB_DEVICE(BANDB_VID, BANDB_232USB9M_PID) },
++      { USB_DEVICE(BANDB_VID, BANDB_485USBTB_2W_PID) },
++      { USB_DEVICE(BANDB_VID, BANDB_485USBTB_4W_PID) },
++      { USB_DEVICE(BANDB_VID, BANDB_TTL5USB9M_PID) },
++      { USB_DEVICE(BANDB_VID, BANDB_TTL3USB9M_PID) },
++      { USB_DEVICE(BANDB_VID, BANDB_ZZ_PROG1_USB_PID) },
+       { USB_DEVICE(FTDI_VID, EVER_ECO_PRO_CDS) },
+       { USB_DEVICE(FTDI_VID, FTDI_4N_GALAXY_DE_1_PID) },
+       { USB_DEVICE(FTDI_VID, FTDI_4N_GALAXY_DE_2_PID) },
+--- a/drivers/usb/serial/ftdi_sio.h
++++ b/drivers/usb/serial/ftdi_sio.h
+@@ -662,6 +662,20 @@
+ #define BANDB_USOTL4_PID      0xAC01  /* USOTL4 Isolated RS-485 Converter */
+ #define BANDB_USTL4_PID               0xAC02  /* USTL4 RS-485 Converter */
+ #define BANDB_USO9ML2_PID     0xAC03  /* USO9ML2 Isolated RS-232 Converter */
++#define BANDB_USOPTL4_PID     0xAC11
++#define BANDB_USPTL4_PID      0xAC12
++#define BANDB_USO9ML2DR_2_PID 0xAC16
++#define BANDB_USO9ML2DR_PID   0xAC17
++#define BANDB_USOPTL4DR2_PID  0xAC18  /* USOPTL4R-2 2-port Isolated RS-232 Converter */
++#define BANDB_USOPTL4DR_PID   0xAC19
++#define BANDB_485USB9F_2W_PID 0xAC25
++#define BANDB_485USB9F_4W_PID 0xAC26
++#define BANDB_232USB9M_PID    0xAC27
++#define BANDB_485USBTB_2W_PID 0xAC33
++#define BANDB_485USBTB_4W_PID 0xAC34
++#define BANDB_TTL5USB9M_PID   0xAC49
++#define BANDB_TTL3USB9M_PID   0xAC50
++#define BANDB_ZZ_PROG1_USB_PID        0xBA02
+ /*
+  * RM Michaelides CANview USB (http://www.rmcan.com)
diff --git a/queue-2.6.32/usb-mos7840-add-device-ids-for-b-b-electronics-devices.patch b/queue-2.6.32/usb-mos7840-add-device-ids-for-b-b-electronics-devices.patch
new file mode 100644 (file)
index 0000000..c6f6c81
--- /dev/null
@@ -0,0 +1,68 @@
+From acf509ae28301d78b022c534c26b1e4765c18f2b Mon Sep 17 00:00:00 2001
+From: Cliff Brake <cbrake@bec-systems.com>
+Date: Tue, 1 Dec 2009 09:53:43 -0500
+Subject: USB: mos7840: add device IDs for B&B electronics devices
+
+From: Cliff Brake <cbrake@bec-systems.com>
+
+commit acf509ae28301d78b022c534c26b1e4765c18f2b upstream.
+
+Reviewed-by: John Pilles <jpilles@bb-elec.com>
+Signed-off-by: Cliff Brake <cbrake@bec-systems.com>
+Cc: Ben Hutchings <ben@decadent.org.uk>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/usb/serial/mos7840.c |   24 +++++++++++++++++++++---
+ 1 file changed, 21 insertions(+), 3 deletions(-)
+
+--- a/drivers/usb/serial/mos7840.c
++++ b/drivers/usb/serial/mos7840.c
+@@ -121,8 +121,14 @@
+  * moschip_id_table_combined
+  */
+ #define USB_VENDOR_ID_BANDB             0x0856
+-#define BANDB_DEVICE_ID_USOPTL4_4       0xAC44
++#define BANDB_DEVICE_ID_USO9ML2_2     0xAC22
++#define BANDB_DEVICE_ID_USO9ML2_4     0xAC24
++#define BANDB_DEVICE_ID_US9ML2_2      0xAC29
++#define BANDB_DEVICE_ID_US9ML2_4      0xAC30
++#define BANDB_DEVICE_ID_USPTL4_2      0xAC31
++#define BANDB_DEVICE_ID_USPTL4_4      0xAC32
+ #define BANDB_DEVICE_ID_USOPTL4_2       0xAC42
++#define BANDB_DEVICE_ID_USOPTL4_4       0xAC44
+ /* This driver also supports
+  * ATEN UC2324 device using Moschip MCS7840
+@@ -177,8 +183,14 @@
+ static struct usb_device_id moschip_port_id_table[] = {
+       {USB_DEVICE(USB_VENDOR_ID_MOSCHIP, MOSCHIP_DEVICE_ID_7840)},
+       {USB_DEVICE(USB_VENDOR_ID_MOSCHIP, MOSCHIP_DEVICE_ID_7820)},
+-      {USB_DEVICE(USB_VENDOR_ID_BANDB, BANDB_DEVICE_ID_USOPTL4_4)},
++      {USB_DEVICE(USB_VENDOR_ID_BANDB, BANDB_DEVICE_ID_USO9ML2_2)},
++      {USB_DEVICE(USB_VENDOR_ID_BANDB, BANDB_DEVICE_ID_USO9ML2_4)},
++      {USB_DEVICE(USB_VENDOR_ID_BANDB, BANDB_DEVICE_ID_US9ML2_2)},
++      {USB_DEVICE(USB_VENDOR_ID_BANDB, BANDB_DEVICE_ID_US9ML2_4)},
++      {USB_DEVICE(USB_VENDOR_ID_BANDB, BANDB_DEVICE_ID_USPTL4_2)},
++      {USB_DEVICE(USB_VENDOR_ID_BANDB, BANDB_DEVICE_ID_USPTL4_4)},
+       {USB_DEVICE(USB_VENDOR_ID_BANDB, BANDB_DEVICE_ID_USOPTL4_2)},
++      {USB_DEVICE(USB_VENDOR_ID_BANDB, BANDB_DEVICE_ID_USOPTL4_4)},
+       {USB_DEVICE(USB_VENDOR_ID_ATENINTL, ATENINTL_DEVICE_ID_UC2324)},
+       {USB_DEVICE(USB_VENDOR_ID_ATENINTL, ATENINTL_DEVICE_ID_UC2322)},
+       {}                      /* terminating entry */
+@@ -187,8 +199,14 @@ static struct usb_device_id moschip_port
+ static __devinitdata struct usb_device_id moschip_id_table_combined[] = {
+       {USB_DEVICE(USB_VENDOR_ID_MOSCHIP, MOSCHIP_DEVICE_ID_7840)},
+       {USB_DEVICE(USB_VENDOR_ID_MOSCHIP, MOSCHIP_DEVICE_ID_7820)},
+-      {USB_DEVICE(USB_VENDOR_ID_BANDB, BANDB_DEVICE_ID_USOPTL4_4)},
++      {USB_DEVICE(USB_VENDOR_ID_BANDB, BANDB_DEVICE_ID_USO9ML2_2)},
++      {USB_DEVICE(USB_VENDOR_ID_BANDB, BANDB_DEVICE_ID_USO9ML2_4)},
++      {USB_DEVICE(USB_VENDOR_ID_BANDB, BANDB_DEVICE_ID_US9ML2_2)},
++      {USB_DEVICE(USB_VENDOR_ID_BANDB, BANDB_DEVICE_ID_US9ML2_4)},
++      {USB_DEVICE(USB_VENDOR_ID_BANDB, BANDB_DEVICE_ID_USPTL4_2)},
++      {USB_DEVICE(USB_VENDOR_ID_BANDB, BANDB_DEVICE_ID_USPTL4_4)},
+       {USB_DEVICE(USB_VENDOR_ID_BANDB, BANDB_DEVICE_ID_USOPTL4_2)},
++      {USB_DEVICE(USB_VENDOR_ID_BANDB, BANDB_DEVICE_ID_USOPTL4_4)},
+       {USB_DEVICE(USB_VENDOR_ID_ATENINTL, ATENINTL_DEVICE_ID_UC2324)},
+       {USB_DEVICE(USB_VENDOR_ID_ATENINTL, ATENINTL_DEVICE_ID_UC2322)},
+       {}                      /* terminating entry */
diff --git a/queue-2.6.32/v4l-dvb-13168-add-support-for-asus-europa-hybrid-dvb-t-card-saa7134-subvendor-id-0x1043-device-id-0x4847.patch b/queue-2.6.32/v4l-dvb-13168-add-support-for-asus-europa-hybrid-dvb-t-card-saa7134-subvendor-id-0x1043-device-id-0x4847.patch
new file mode 100644 (file)
index 0000000..a1f3cde
--- /dev/null
@@ -0,0 +1,110 @@
+From e3c6e1aaa5db7822524f5b1355960fd732910068 Mon Sep 17 00:00:00 2001
+From: Danny Wood <danwood76@gmail.com>
+Date: Sun, 20 Sep 2009 12:14:21 -0300
+Subject: V4L/DVB (13168): Add support for Asus Europa Hybrid DVB-T card (SAA7134 SubVendor ID: 0x1043 Device ID: 0x4847)
+
+From: Danny Wood <danwood76@gmail.com>
+
+commit e3c6e1aaa5db7822524f5b1355960fd732910068 upstream.
+
+Adds the device IDs and driver linking to allow the Asus Europa DVB-T
+card to operate with these drivers.
+The device has a SAA7134 chipset with a TD1316 Hybrid Tuner.
+All inputs work on the card including switching between DVB-T and
+Analogue TV, there is also no IR with this card.
+
+[mchehab@redhat.com: CodingStyle fixes]
+
+Signed-off-by: Danny Wood <danwood76@gmail.com>
+Cc: Ben Hutchings <ben@decadent.org.uk>
+Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ Documentation/video4linux/CARDLIST.saa7134  |    1 
+ drivers/media/video/saa7134/saa7134-cards.c |   31 ++++++++++++++++++++++++++++
+ drivers/media/video/saa7134/saa7134-dvb.c   |    1 
+ drivers/media/video/saa7134/saa7134.h       |    1 
+ 4 files changed, 34 insertions(+)
+
+--- a/Documentation/video4linux/CARDLIST.saa7134
++++ b/Documentation/video4linux/CARDLIST.saa7134
+@@ -172,3 +172,4 @@
+ 171 -> Beholder BeholdTV X7                     [5ace:7595]
+ 172 -> RoverMedia TV Link Pro FM                [19d1:0138]
+ 173 -> Zolid Hybrid TV Tuner PCI                [1131:2004]
++174 -> Asus Europa Hybrid OEM                   [1043:4847]
+--- a/drivers/media/video/saa7134/saa7134-cards.c
++++ b/drivers/media/video/saa7134/saa7134-cards.c
+@@ -5279,6 +5279,30 @@ struct saa7134_board saa7134_boards[] = 
+                       .amux = TV,
+               },
+       },
++      [SAA7134_BOARD_ASUS_EUROPA_HYBRID] = {
++              .name           = "Asus Europa Hybrid OEM",
++              .audio_clock    = 0x00187de7,
++              .tuner_type     = TUNER_PHILIPS_TD1316,
++              .radio_type     = UNSET,
++              .tuner_addr     = 0x61,
++              .radio_addr     = ADDR_UNSET,
++              .tda9887_conf   = TDA9887_PRESENT | TDA9887_PORT1_ACTIVE,
++              .mpeg           = SAA7134_MPEG_DVB,
++              .inputs = { {
++                      .name   = name_tv,
++                      .vmux   = 3,
++                      .amux   = TV,
++                      .tv     = 1,
++              }, {
++                      .name   = name_comp1,
++                      .vmux   = 4,
++                      .amux   = LINE2,
++              }, {
++                      .name   = name_svideo,
++                      .vmux   = 8,
++                      .amux   = LINE2,
++              } },
++      },
+ };
+@@ -6418,6 +6442,12 @@ struct pci_device_id saa7134_pci_tbl[] =
+               .subdevice    = 0x2004,
+               .driver_data  = SAA7134_BOARD_ZOLID_HYBRID_PCI,
+       }, {
++              .vendor       = PCI_VENDOR_ID_PHILIPS,
++              .device       = PCI_DEVICE_ID_PHILIPS_SAA7134,
++              .subvendor    = 0x1043,
++              .subdevice    = 0x4847,
++              .driver_data  = SAA7134_BOARD_ASUS_EUROPA_HYBRID,
++      }, {
+               /* --- boards without eeprom + subsystem ID --- */
+               .vendor       = PCI_VENDOR_ID_PHILIPS,
+               .device       = PCI_DEVICE_ID_PHILIPS_SAA7134,
+@@ -7079,6 +7109,7 @@ int saa7134_board_init2(struct saa7134_d
+               /* break intentionally omitted */
+       case SAA7134_BOARD_VIDEOMATE_DVBT_300:
+       case SAA7134_BOARD_ASUS_EUROPA2_HYBRID:
++      case SAA7134_BOARD_ASUS_EUROPA_HYBRID:
+       {
+               /* The Philips EUROPA based hybrid boards have the tuner
+--- a/drivers/media/video/saa7134/saa7134-dvb.c
++++ b/drivers/media/video/saa7134/saa7134-dvb.c
+@@ -1116,6 +1116,7 @@ static int dvb_init(struct saa7134_dev *
+               break;
+       case SAA7134_BOARD_PHILIPS_EUROPA:
+       case SAA7134_BOARD_VIDEOMATE_DVBT_300:
++      case SAA7134_BOARD_ASUS_EUROPA_HYBRID:
+               fe0->dvb.frontend = dvb_attach(tda10046_attach,
+                                              &philips_europa_config,
+                                              &dev->i2c_adap);
+--- a/drivers/media/video/saa7134/saa7134.h
++++ b/drivers/media/video/saa7134/saa7134.h
+@@ -297,6 +297,7 @@ struct saa7134_format {
+ #define SAA7134_BOARD_BEHOLD_X7             171
+ #define SAA7134_BOARD_ROVERMEDIA_LINK_PRO_FM 172
+ #define SAA7134_BOARD_ZOLID_HYBRID_PCI                173
++#define SAA7134_BOARD_ASUS_EUROPA_HYBRID      174
+ #define SAA7134_MAXBOARDS 32
+ #define SAA7134_INPUT_MAX 8
diff --git a/queue-2.6.32/v4l-dvb-13569-smsusb-add-autodetection-support-for-five-additional-hauppauge-usb-ids.patch b/queue-2.6.32/v4l-dvb-13569-smsusb-add-autodetection-support-for-five-additional-hauppauge-usb-ids.patch
new file mode 100644 (file)
index 0000000..1c62aec
--- /dev/null
@@ -0,0 +1,47 @@
+From 20d15a200d34cfb7141fb4558895d7d5233db84b Mon Sep 17 00:00:00 2001
+From: Michael Krufky <mkrufky@kernellabs.com>
+Date: Mon, 30 Nov 2009 18:22:10 -0300
+Subject: V4L/DVB (13569): smsusb: add autodetection support for five additional Hauppauge USB IDs
+
+From: Michael Krufky <mkrufky@kernellabs.com>
+
+commit 20d15a200d34cfb7141fb4558895d7d5233db84b upstream.
+
+Add support for five new Hauppauge Device USB IDs:
+
+2040:b980
+2040:b990
+2040:c010
+2040:c080
+2040:c090
+
+Signed-off-by: Michael Krufky <mkrufky@kernellabs.com>
+Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
+Cc: Ben Hutchings <ben@decadent.org.uk>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/media/dvb/siano/smsusb.c |   10 ++++++++++
+ 1 file changed, 10 insertions(+)
+
+--- a/drivers/media/dvb/siano/smsusb.c
++++ b/drivers/media/dvb/siano/smsusb.c
+@@ -533,8 +533,18 @@ struct usb_device_id smsusb_id_table[] =
+               .driver_info = SMS1XXX_BOARD_HAUPPAUGE_WINDHAM },
+       { USB_DEVICE(0x2040, 0xb910),
+               .driver_info = SMS1XXX_BOARD_HAUPPAUGE_WINDHAM },
++      { USB_DEVICE(0x2040, 0xb980),
++              .driver_info = SMS1XXX_BOARD_HAUPPAUGE_WINDHAM },
++      { USB_DEVICE(0x2040, 0xb990),
++              .driver_info = SMS1XXX_BOARD_HAUPPAUGE_WINDHAM },
+       { USB_DEVICE(0x2040, 0xc000),
+               .driver_info = SMS1XXX_BOARD_HAUPPAUGE_WINDHAM },
++      { USB_DEVICE(0x2040, 0xc010),
++              .driver_info = SMS1XXX_BOARD_HAUPPAUGE_WINDHAM },
++      { USB_DEVICE(0x2040, 0xc080),
++              .driver_info = SMS1XXX_BOARD_HAUPPAUGE_WINDHAM },
++      { USB_DEVICE(0x2040, 0xc090),
++              .driver_info = SMS1XXX_BOARD_HAUPPAUGE_WINDHAM },
+       { } /* Terminating entry */
+       };
diff --git a/queue-2.6.32/v4l-dvb-13680a-docbook-media-copy-images-after-building-html.patch b/queue-2.6.32/v4l-dvb-13680a-docbook-media-copy-images-after-building-html.patch
new file mode 100644 (file)
index 0000000..4f188c6
--- /dev/null
@@ -0,0 +1,54 @@
+From 49b14650ba5bf80234cb1984fd8396aff03430ce Mon Sep 17 00:00:00 2001
+From: Ben Hutchings <ben@decadent.org.uk>
+Date: Thu, 3 Dec 2009 19:50:35 -0300
+Subject: V4L/DVB (13680a): DocBook/media: copy images after building HTML
+
+From: Ben Hutchings <ben@decadent.org.uk>
+
+commit 49b14650ba5bf80234cb1984fd8396aff03430ce upstream.
+
+The rule for %.html removes the output directory, so there is no point
+in copying images before building HTML.
+
+Documentation/DocBook/Makefile |   10 +++++-----
+
+Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
+Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
+Cc: Ben Hutchings <ben@decadent.org.uk>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ Documentation/DocBook/Makefile |   10 +++++-----
+ 1 file changed, 5 insertions(+), 5 deletions(-)
+
+--- a/Documentation/DocBook/Makefile
++++ b/Documentation/DocBook/Makefile
+@@ -32,7 +32,7 @@ PS_METHOD    = $(prefer-db2x)
+ ###
+ # The targets that may be used.
+-PHONY += xmldocs sgmldocs psdocs pdfdocs htmldocs mandocs installmandocs cleandocs media
++PHONY += xmldocs sgmldocs psdocs pdfdocs htmldocs mandocs installmandocs cleandocs
+ BOOKS := $(addprefix $(obj)/,$(DOCBOOKS))
+ xmldocs: $(BOOKS)
+@@ -45,15 +45,15 @@ PDF := $(patsubst %.xml, %.pdf, $(BOOKS)
+ pdfdocs: $(PDF)
+ HTML := $(sort $(patsubst %.xml, %.html, $(BOOKS)))
+-htmldocs: media $(HTML)
++htmldocs: $(HTML)
+       $(call build_main_index)
++      $(call build_images)
+ MAN := $(patsubst %.xml, %.9, $(BOOKS))
+ mandocs: $(MAN)
+-media:
+-      mkdir -p $(srctree)/Documentation/DocBook/media/
+-      cp $(srctree)/Documentation/DocBook/dvb/*.png $(srctree)/Documentation/DocBook/v4l/*.gif $(srctree)/Documentation/DocBook/media/
++build_images = mkdir -p $(objtree)/Documentation/DocBook/media/ && \
++             cp $(srctree)/Documentation/DocBook/dvb/*.png $(srctree)/Documentation/DocBook/v4l/*.gif $(objtree)/Documentation/DocBook/media/
+ installmandocs: mandocs
+       mkdir -p /usr/local/man/man9/
diff --git a/queue-2.6.32/v4l-dvb-13680b-docbook-media-create-links-for-included-sources.patch b/queue-2.6.32/v4l-dvb-13680b-docbook-media-create-links-for-included-sources.patch
new file mode 100644 (file)
index 0000000..2e61654
--- /dev/null
@@ -0,0 +1,57 @@
+From 5bf583473813530c1bf82051a35fac8d5045f4f7 Mon Sep 17 00:00:00 2001
+From: Ben Hutchings <ben@decadent.org.uk>
+Date: Thu, 3 Dec 2009 19:51:09 -0300
+Subject: V4L/DVB (13680b): DocBook/media: create links for included sources
+
+From: Ben Hutchings <ben@decadent.org.uk>
+
+commit 5bf583473813530c1bf82051a35fac8d5045f4f7 upstream.
+
+If docs are being built in a separate directory, xmlto and xsltproc
+can't find included sources.  Make links back to the source directory.
+
+I would much prefer to have xmlto and xsltproc look in the source
+directory for included entities but couldn't see how to do that.  This
+needs to be solved in some way for 2.6.32, even if this patch isn't the
+right way to do it.
+
+Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
+Cc: Ben Hutchings <ben@decadent.org.uk>
+Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ Documentation/DocBook/Makefile |   13 +++++++++++--
+ 1 file changed, 11 insertions(+), 2 deletions(-)
+
+--- a/Documentation/DocBook/Makefile
++++ b/Documentation/DocBook/Makefile
+@@ -32,10 +32,10 @@ PS_METHOD  = $(prefer-db2x)
+ ###
+ # The targets that may be used.
+-PHONY += xmldocs sgmldocs psdocs pdfdocs htmldocs mandocs installmandocs cleandocs
++PHONY += xmldocs sgmldocs psdocs pdfdocs htmldocs mandocs installmandocs cleandocs xmldoclinks
+ BOOKS := $(addprefix $(obj)/,$(DOCBOOKS))
+-xmldocs: $(BOOKS)
++xmldocs: $(BOOKS) xmldoclinks
+ sgmldocs: xmldocs
+ PS := $(patsubst %.xml, %.ps, $(BOOKS))
+@@ -55,6 +55,15 @@ mandocs: $(MAN)
+ build_images = mkdir -p $(objtree)/Documentation/DocBook/media/ && \
+              cp $(srctree)/Documentation/DocBook/dvb/*.png $(srctree)/Documentation/DocBook/v4l/*.gif $(objtree)/Documentation/DocBook/media/
++xmldoclinks:
++ifneq ($(objtree),$(srctree))
++      for dep in dvb media-entities.tmpl media-indices.tmpl v4l; do \
++              rm -f $(objtree)/Documentation/DocBook/$$dep \
++              && ln -s $(srctree)/Documentation/DocBook/$$dep $(objtree)/Documentation/DocBook/ \
++              || exit; \
++      done
++endif
++
+ installmandocs: mandocs
+       mkdir -p /usr/local/man/man9/
+       install Documentation/DocBook/man/*.9.gz /usr/local/man/man9/