Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 43d80439 authored by Benjamin Herrenschmidt's avatar Benjamin Herrenschmidt Committed by Paul Mackerras
Browse files

[POWERPC] ps3: system bus minor mmio fix



Fix two minor bugs in the PS3 system bus mmio region code.  First, on error or
when freeing a region, retain the bus_addr and len fields to allow subsequent
calls to create the region.  Second, correct the region address argument to the
lv1_unmap_device_mmio_region() call.

Fixes modprobe/rmmod of some drivers.

Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: default avatarGeoff Levand <geoffrey.levand@am.sony.com>
Acked-by: default avatarArnd Bergmann <arnd.bergmann@de.ibm.com>
Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
parent 6c7be7d3
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -50,7 +50,7 @@ int ps3_mmio_region_create(struct ps3_mmio_region *r)
	if (result) {
		pr_debug("%s:%d: lv1_map_device_mmio_region failed: %s\n",
			__func__, __LINE__, ps3_result(result));
		r->lpar_addr = r->len = r->bus_addr = 0;
		r->lpar_addr = 0;
	}

	dump_mmio_region(r);
@@ -62,13 +62,13 @@ int ps3_free_mmio_region(struct ps3_mmio_region *r)
	int result;

	result = lv1_unmap_device_mmio_region(r->did.bus_id, r->did.dev_id,
		r->bus_addr);
		r->lpar_addr);

	if (result)
		pr_debug("%s:%d: lv1_unmap_device_mmio_region failed: %s\n",
			__func__, __LINE__, ps3_result(result));

	r->lpar_addr = r->len = r->bus_addr = 0;
	r->lpar_addr = 0;
	return result;
}