|
@@ -405,20 +405,28 @@ static int pci_read(struct pci_bus *bus, unsigned int devfn, int where,
|
|
|
int size, u32 *val)
|
|
|
{
|
|
|
struct zpci_dev *zdev = get_zdev_by_bus(bus);
|
|
|
+ int ret;
|
|
|
|
|
|
if (!zdev || devfn != ZPCI_DEVFN)
|
|
|
- return 0;
|
|
|
- return zpci_cfg_load(zdev, where, val, size);
|
|
|
+ ret = -ENODEV;
|
|
|
+ else
|
|
|
+ ret = zpci_cfg_load(zdev, where, val, size);
|
|
|
+
|
|
|
+ return ret;
|
|
|
}
|
|
|
|
|
|
static int pci_write(struct pci_bus *bus, unsigned int devfn, int where,
|
|
|
int size, u32 val)
|
|
|
{
|
|
|
struct zpci_dev *zdev = get_zdev_by_bus(bus);
|
|
|
+ int ret;
|
|
|
|
|
|
if (!zdev || devfn != ZPCI_DEVFN)
|
|
|
- return 0;
|
|
|
- return zpci_cfg_store(zdev, where, val, size);
|
|
|
+ ret = -ENODEV;
|
|
|
+ else
|
|
|
+ ret = zpci_cfg_store(zdev, where, val, size);
|
|
|
+
|
|
|
+ return ret;
|
|
|
}
|
|
|
|
|
|
static struct pci_ops pci_root_ops = {
|