Merge tag 'firewire-updates' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee139...
authorLinus Torvalds <torvalds@linux-foundation.org>
Wed, 4 Jun 2014 14:47:03 +0000 (07:47 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Wed, 4 Jun 2014 14:47:03 +0000 (07:47 -0700)
Pull firewire updates from Stefan Richter:
 "IEEE 1394 (FireWire) subsystem changes: One optimization for some VIA
  controllers, one fix, one kconfig brushup"

* tag 'firewire-updates' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394:
  firewire: ohci: enable MSI for VIA VT6315 rev 1, drop cycle timer quirk
  firewire: Use COMPILE_TEST for build testing
  firewire: net: fix NULL derefencing in fwnet_probe()

drivers/firewire/Kconfig
drivers/firewire/net.c
drivers/firewire/ohci.c

index 7a701a58bbf058c6417b911e8c1597a5d0b4e5b5..4199849e37585181eace8176b55d4e81cbfd06db 100644 (file)
@@ -1,5 +1,5 @@
 menu "IEEE 1394 (FireWire) support"
-       depends on PCI || BROKEN
+       depends on PCI || COMPILE_TEST
        # firewire-core does not depend on PCI but is
        # not useful without PCI controller driver
 
index 4af0a7bad7f21561cc4e7a29031c238a34f0135d..c3986452194dd01ee4fed4b4bff14f9f5813523d 100644 (file)
@@ -1462,8 +1462,8 @@ static int fwnet_probe(struct fw_unit *unit,
 
        net = alloc_netdev(sizeof(*dev), "firewire%d", fwnet_init_dev);
        if (net == NULL) {
-               ret = -ENOMEM;
-               goto out;
+               mutex_unlock(&fwnet_device_mutex);
+               return -ENOMEM;
        }
 
        allocated_netdev = true;
index ce7a5812ae9d43cab014b857a7e0ce8f6d7bef62..57985410f12f7ea9770818457e2d9550d815a3dd 100644 (file)
@@ -282,6 +282,7 @@ static char ohci_driver_name[] = KBUILD_MODNAME;
 #define PCI_DEVICE_ID_TI_TSB82AA2      0x8025
 #define PCI_DEVICE_ID_VIA_VT630X       0x3044
 #define PCI_REV_ID_VIA_VT6306          0x46
+#define PCI_DEVICE_ID_VIA_VT6315       0x3403
 
 #define QUIRK_CYCLE_TIMER              0x1
 #define QUIRK_RESET_PACKET             0x2
@@ -334,6 +335,12 @@ static const struct {
        {PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_VT630X, PCI_REV_ID_VIA_VT6306,
                QUIRK_CYCLE_TIMER | QUIRK_IR_WAKE},
 
+       {PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_VT6315, 0,
+               QUIRK_CYCLE_TIMER | QUIRK_NO_MSI},
+
+       {PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_VT6315, PCI_ANY_ID,
+               0},
+
        {PCI_VENDOR_ID_VIA, PCI_ANY_ID, PCI_ANY_ID,
                QUIRK_CYCLE_TIMER | QUIRK_NO_MSI},
 };