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

Commit 47bc7e74 authored by Bartlomiej Zolnierkiewicz's avatar Bartlomiej Zolnierkiewicz
Browse files

rapide: fix rapide_probe() return value



Return -ENOENT on ide_find_port() failure.

While at it:

- Cleanup rapide_probe() a bit.

Cc: Russell King <rmk@arm.linux.org.uk>
Signed-off-by: default avatarBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
parent ff23712e
Loading
Loading
Loading
Loading
+15 −13
Original line number Diff line number Diff line
@@ -48,15 +48,18 @@ rapide_probe(struct expansion_card *ec, const struct ecard_id *id)
		goto release;
	}

	hwif = ide_find_port();
	if (hwif) {
	memset(&hw, 0, sizeof(hw));
	rapide_setup_ports(&hw, base, base + 0x818, 1 << 6, ec->irq);
	hw.chipset = ide_generic;
	hw.dev = &ec->dev;

		ide_init_port_hw(hwif, &hw);
	hwif = ide_find_port();
	if (hwif == NULL) {
		ret = -ENOENT;
		goto release;
	}

	ide_init_port_hw(hwif, &hw);
	default_hwif_mmiops(hwif);

	idx[0] = hwif->index;
@@ -65,7 +68,6 @@ rapide_probe(struct expansion_card *ec, const struct ecard_id *id)

	ecard_set_drvdata(ec, hwif);
	goto out;
	}

 release:
	ecard_release_resources(ec);