diff options
Diffstat (limited to 'drivers/pci/proc.c')
| -rw-r--r-- | drivers/pci/proc.c | 14 | 
1 files changed, 10 insertions, 4 deletions
diff --git a/drivers/pci/proc.c b/drivers/pci/proc.c index e68bbfb1e7c..7988fc8df3f 100644 --- a/drivers/pci/proc.c +++ b/drivers/pci/proc.c @@ -355,14 +355,20 @@ static int show_device(struct seq_file *m, void *v)  			dev->device,  			dev->irq);  	/* Here should be 7 and not PCI_NUM_RESOURCES as we need to preserve compatibility */ -	for(i=0; i<7; i++) +	for (i=0; i<7; i++) { +		u64 start, end; +		pci_resource_to_user(dev, i, &dev->resource[i], &start, &end);  		seq_printf(m, LONG_FORMAT, -			dev->resource[i].start | +			((unsigned long)start) |  			(dev->resource[i].flags & PCI_REGION_FLAG_MASK)); -	for(i=0; i<7; i++) +	} +	for (i=0; i<7; i++) { +		u64 start, end; +		pci_resource_to_user(dev, i, &dev->resource[i], &start, &end);  		seq_printf(m, LONG_FORMAT,  			dev->resource[i].start < dev->resource[i].end ? -			dev->resource[i].end - dev->resource[i].start + 1 : 0); +			(unsigned long)(end - start) + 1 : 0); +	}  	seq_putc(m, '\t');  	if (drv)  		seq_printf(m, "%s", drv->name);  |