PCI: Rationalize pci_ats_queue_depth() error checking
authorBjorn Helgaas <bhelgaas@google.com>
Fri, 17 Jul 2015 20:30:26 +0000 (15:30 -0500)
committerBjorn Helgaas <bhelgaas@google.com>
Thu, 13 Aug 2015 20:57:22 +0000 (15:57 -0500)
We previously returned -ENODEV for devices that don't support ATS (except
that we always returned 0 for VFs, whether or not they support ATS).

For consistency, always return -EINVAL (not -ENODEV) if the device doesn't
support ATS.  Return zero for VFs that support ATS.

Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Reviewed-by: Joerg Roedel <jroedel@suse.de>
drivers/pci/ats.c

index 690ae6e6786c59c2a9dc0bbfb69e6feaa07be57e..9a98b3a4f98349e1a0150fbed39de71689fd9d0a 100644 (file)
@@ -136,13 +136,13 @@ EXPORT_SYMBOL_GPL(pci_restore_ats_state);
  */
 int pci_ats_queue_depth(struct pci_dev *dev)
 {
+       if (!dev->ats_cap)
+               return -EINVAL;
+
        if (dev->is_virtfn)
                return 0;
 
-       if (dev->ats_cap)
-               return dev->ats_qdep;
-
-       return -ENODEV;
+       return dev->ats_qdep;
 }
 EXPORT_SYMBOL_GPL(pci_ats_queue_depth);