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

Commit 2fe9262e authored by Salah Triki's avatar Salah Triki Committed by Greg Kroah-Hartman
Browse files

staging: rtl8192u: check return value of read_nic_word_E



The call of read_nic_word_E may fail, therefore its return value must be
checked and propagated in the case of error.

Signed-off-by: default avatarSalah Triki <salah.triki@acm.org>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 453e102d
Loading
Loading
Loading
Loading
+17 −4
Original line number Diff line number Diff line
@@ -23,8 +23,11 @@
static void eprom_cs(struct net_device *dev, short bit)
{
	u8 cmdreg;
	int err;

	read_nic_byte_E(dev, EPROM_CMD, &cmdreg);
	err = read_nic_byte_E(dev, EPROM_CMD, &cmdreg);
	if (err)
		return;
	if (bit)
		/* enable EPROM */
		write_nic_byte_E(dev, EPROM_CMD, cmdreg | EPROM_CS_BIT);
@@ -40,8 +43,11 @@ static void eprom_cs(struct net_device *dev, short bit)
static void eprom_ck_cycle(struct net_device *dev)
{
	u8 cmdreg;
	int err;

	read_nic_byte_E(dev, EPROM_CMD, &cmdreg);
	err = read_nic_byte_E(dev, EPROM_CMD, &cmdreg);
	if (err)
		return;
	write_nic_byte_E(dev, EPROM_CMD, cmdreg | EPROM_CK_BIT);
	force_pci_posting(dev);
	udelay(EPROM_DELAY);
@@ -56,8 +62,11 @@ static void eprom_ck_cycle(struct net_device *dev)
static void eprom_w(struct net_device *dev, short bit)
{
	u8 cmdreg;
	int err;

	read_nic_byte_E(dev, EPROM_CMD, &cmdreg);
	err = read_nic_byte_E(dev, EPROM_CMD, &cmdreg);
	if (err)
		return;
	if (bit)
		write_nic_byte_E(dev, EPROM_CMD, cmdreg | EPROM_W_BIT);
	else
@@ -71,8 +80,12 @@ static void eprom_w(struct net_device *dev, short bit)
static short eprom_r(struct net_device *dev)
{
	u8 bit;
	int err;

	err = read_nic_byte_E(dev, EPROM_CMD, &bit);
	if (err)
		return err;

	read_nic_byte_E(dev, EPROM_CMD, &bit);
	udelay(EPROM_DELAY);

	if (bit & EPROM_R_BIT)