[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#600482: unblock: vpb-driver/4.2.49-1



Package: release.debian.org
Severity: normal
User: release.debian.org@packages.debian.org
Usertags: unblock

Please unblock package vpb-driver

This one updates the package for two kernel interface changes, one in 2.6.33
and another in 2.6.35.  Tested in sid and upstream for 3 weeks now.  I see
little chance of regression and none has been reported. The version currently
in squeeze will FTBFS with those kernels without them, so I recommend that
this one replace it.  Details of the interesting bits below.  The rest of the
debdiff is .po noise and new autofoo.

Thanks!
Ron


commit 9a1d2250d79b9f744faa69b2afa9c107794ac3e2
Author: Ron <ron@debian.org>
Date:   Sat Sep 25 03:59:08 2010 +0930

    pci_find_device is dead.  long live pci_get_device
    
    The former is gone in the debian 2.6.35-trunk-686 kernel now, but it looks like
    we can get away with just using 'get' and leaking the reference (so it doesn't
    get destroyed, which is unsafe).  A bit ugly, but not more than before in the
    first 4 billion module reloads after boot, and far less intrusive than totally
    rewriting the driver probe for this one at this late stage in its life.

diff --git a/src/vpb/vpb.c b/src/vpb/vpb.c
index 193676d..852e6cd 100644
--- a/src/vpb/vpb.c
+++ b/src/vpb/vpb.c
@@ -246,7 +246,7 @@ int init_module(void)
        // search for V4PCI devices on PCI bus
 
        numPCI = 0;
-       while((dev = pci_find_device(PCI_VENDOR_ID_PLX, PCI_DEVICE_ID_PLX_9050,
+       while((dev = pci_get_device(PCI_VENDOR_ID_PLX, PCI_DEVICE_ID_PLX_9050,
                                     dev)) != NULL) {
 
                // check that subsytem ID & Subsytem Vendor matches
@@ -363,8 +363,8 @@ int init_module(void)
 
        return 0;
 
-    hell:
-
+hell:
+       pci_dev_put(dev);
        cleanup_module();
        return ret;
 }


commit 376c555c68f4683eab1a08be1e0a5a960498ff2b
Author: Ron <ron@debian.org>
Date:   Sat Sep 25 03:54:42 2010 +0930

    Update for autoconf.h moving to generated/ in 2.6.33

diff --git a/src/vpb/vpb.c b/src/vpb/vpb.c
index 94039ac..193676d 100644
--- a/src/vpb/vpb.c
+++ b/src/vpb/vpb.c
@@ -84,14 +84,19 @@
 #endif
 
 
+#include <linux/version.h>
+
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,33))
+ #include <generated/autoconf.h>
+#else
+ #include <linux/autoconf.h>
+#endif
 
 // Module version boilerplate
-#include <linux/autoconf.h>
 #if defined( CONFIG_MODVERSIONS) && !defined(MODVERSIONS)
 #define MODVERSIONS
 #endif
 
-#include <linux/version.h>
 #ifdef MODVERSIONS
 #if (LINUX_VERSION_CODE > KERNEL_VERSION(2,6,4))
 #include <config/modversions.h>
diff --git a/src/vtcore/vtcommon.h b/src/vtcore/vtcommon.h
index 7e8d8ff..1979a6f 100644
--- a/src/vtcore/vtcommon.h
+++ b/src/vtcore/vtcommon.h
@@ -27,13 +27,18 @@
 #ifndef VTCOMMON_H
 #define VTCOMMON_H
 
-#include <linux/autoconf.h>
+#include <linux/version.h>
+
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,33))
+ #include <generated/autoconf.h>
+#else
+ #include <linux/autoconf.h>
+#endif
+
 #if defined( CONFIG_MODVERSIONS) && !defined(MODVERSIONS)
  #define MODVERSIONS
 #endif
 
-#include <linux/version.h>
-
 // This was moved out of version.h around 2.6.18
 #ifndef UTS_RELEASE
  // and then moved again out of include/linux after 2.6.32


unblock vpb-driver/4.2.49-1

-- System Information:
Debian Release: squeeze/sid
  APT prefers unstable
  APT policy: (500, 'unstable')
Architecture: amd64 (x86_64)

Kernel: Linux 2.6.32-5-amd64 (SMP w/4 CPU cores)
Locale: LANG=en_AU.UTF-8, LC_CTYPE=en_AU.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash



Reply to: