diff --git a/include/linux/pci.h b/include/linux/pci.h
index 197e2d21f2cb732ebbb7870dbbe45898a7285c50..d3a888ae4b2e3ad030bdb5f89354eea2f2567d0b 100644
--- a/include/linux/pci.h
+++ b/include/linux/pci.h
@@ -470,6 +470,10 @@ struct pci_bus {
 /*
  * Returns true if the pci bus is root (behind host-pci bridge),
  * false otherwise
+ *
+ * Some code assumes that "bus->self == NULL" means that bus is a root bus.
+ * This is incorrect because "virtual" buses added for SR-IOV (via
+ * virtfn_add_bus()) have "bus->self == NULL" but are not root buses.
  */
 static inline bool pci_is_root_bus(struct pci_bus *pbus)
 {