mirror of https://gitee.com/openkylin/linux.git
pci: use size stored in proc_dir_entry for proc bus files
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>
This commit is contained in:
parent
7f78576366
commit
cd68602f36
|
@ -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))
|
if (capable(CAP_SYS_ADMIN))
|
||||||
size = dev->cfg_size;
|
size = dp->size;
|
||||||
else if (dev->hdr_type == PCI_HEADER_TYPE_CARDBUS)
|
else if (dev->hdr_type == PCI_HEADER_TYPE_CARDBUS)
|
||||||
size = 128;
|
size = 128;
|
||||||
else
|
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);
|
const struct proc_dir_entry *dp = PDE(ino);
|
||||||
struct pci_dev *dev = dp->data;
|
struct pci_dev *dev = dp->data;
|
||||||
int pos = *ppos;
|
int pos = *ppos;
|
||||||
int size = dev->cfg_size;
|
int size = dp->size;
|
||||||
int cnt;
|
int cnt;
|
||||||
|
|
||||||
if (pos >= size)
|
if (pos >= size)
|
||||||
|
|
Loading…
Reference in New Issue