pci: use size stored in proc_dir_entry for proc bus files
authorDavid Rientjes <rientjes@google.com>
Thu, 27 Sep 2007 20:41:16 +0000 (13:41 -0700)
committerGreg Kroah-Hartman <gregkh@suse.de>
Fri, 12 Oct 2007 22:03:17 +0000 (15:03 -0700)
On pci_proc_attach_device(), the size of the PCI configuration space is
stored in the proc_dir_entry as the size of the file.  Thus, the procfs
interface to PCI devices should use it instead of the device directly.

Signed-off-by: David Rientjes <rientjes@google.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/pci/proc.c

index 90adc62d07ffb7006f820fe32486aea6abaa5377..73714db6995ed10b9e36d9a3137007bd2f15dc43 100644 (file)
@@ -60,7 +60,7 @@ proc_bus_pci_read(struct file *file, char __user *buf, size_t nbytes, loff_t *pp
         */
 
        if (capable(CAP_SYS_ADMIN))
-               size = dev->cfg_size;
+               size = dp->size;
        else if (dev->hdr_type == PCI_HEADER_TYPE_CARDBUS)
                size = 128;
        else
@@ -133,7 +133,7 @@ proc_bus_pci_write(struct file *file, const char __user *buf, size_t nbytes, lof
        const struct proc_dir_entry *dp = PDE(ino);
        struct pci_dev *dev = dp->data;
        int pos = *ppos;
-       int size = dev->cfg_size;
+       int size = dp->size;
        int cnt;
 
        if (pos >= size)