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

Commit d816d423 authored by Klaus-Dieter Wacker's avatar Klaus-Dieter Wacker Committed by David S. Miller
Browse files

lcs: Recognize return codes of ccw_device_set_online().



The creation of a new lcs device requires a call to the function
ccw_device_set_online() for the read and the write channel. Failure
of either call should terminate the lcs device creation immediately
with return code -ENODEV.

Signed-off-by: default avatarKlaus-Dieter Wacker <kdwacker@de.ibm.com>
Signed-off-by: default avatarUrsula Braun <ursula.braun@de.ibm.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent d62e09e3
Loading
Loading
Loading
Loading
+9 −3
Original line number Diff line number Diff line
@@ -2130,8 +2130,12 @@ lcs_new_device(struct ccwgroup_device *ccwgdev)
	card->write.ccwdev = ccwgdev->cdev[1];

	recover_state = card->state;
	ccw_device_set_online(card->read.ccwdev);
	ccw_device_set_online(card->write.ccwdev);
	rc = ccw_device_set_online(card->read.ccwdev);
	if (rc)
		goto out_err;
	rc = ccw_device_set_online(card->write.ccwdev);
	if (rc)
		goto out_werr;

	LCS_DBF_TEXT(3, setup, "lcsnewdv");

@@ -2210,8 +2214,10 @@ lcs_new_device(struct ccwgroup_device *ccwgdev)
	return 0;
out:

	ccw_device_set_offline(card->read.ccwdev);
	ccw_device_set_offline(card->write.ccwdev);
out_werr:
	ccw_device_set_offline(card->read.ccwdev);
out_err:
	return -ENODEV;
}