lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite for Android: free password hash cracker in your pocket
[<prev] [next>] [day] [month] [year] [list]
Date:	Thu, 16 Aug 2012 19:50:01 -0700
From:	H Hartley Sweeten <hartleys@...ionengravers.com>
To:	Linux Kernel <linux-kernel@...r.kernel.org>
CC:	<devel@...verdev.osuosl.org>, <abbotti@....co.uk>,
	<gregkh@...uxfoundation.org>
Subject: [PATCH 21/35] staging: comedi: cb_pcimdda: cleanup the 8255 subdevice init

The dio_registers variable in the private data is only used to
pass the base address to the 8255 subdevice. Remove the variable
from the private data and pass the value directly to the
subdev_8255_init() function.

Make sure to check the return from subdev_8255_init(). That
function can fail. For aesthetic reasons, rename the local
variable 'err' to 'ret'.

Signed-off-by: H Hartley Sweeten <hsweeten@...ionengravers.com>
Cc: Ian Abbott <abbotti@....co.uk>
Cc: Greg Kroah-Hartman <gregkh@...uxfoundation.org>
---
 drivers/staging/comedi/drivers/cb_pcimdda.c | 31 +++++++++++++----------------
 1 file changed, 14 insertions(+), 17 deletions(-)

diff --git a/drivers/staging/comedi/drivers/cb_pcimdda.c b/drivers/staging/comedi/drivers/cb_pcimdda.c
index 4127aa7..b4d1f8b 100644
--- a/drivers/staging/comedi/drivers/cb_pcimdda.c
+++ b/drivers/staging/comedi/drivers/cb_pcimdda.c
@@ -137,7 +137,6 @@ static const struct cb_pcimdda_board cb_pcimdda_boards[] = {
  * struct.
  */
 struct cb_pcimdda_private {
-	unsigned long dio_registers;
 	char attached_to_8255;	/* boolean */
 
 #define MAX_AO_READBACK_CHANNELS 6
@@ -243,11 +242,11 @@ static int cb_pcimdda_attach(struct comedi_device *dev,
 	struct cb_pcimdda_private *devpriv;
 	struct pci_dev *pcidev;
 	struct comedi_subdevice *s;
-	int err;
+	int ret;
 
-	err = alloc_private(dev, sizeof(*devpriv));
-	if (err)
-		return err;
+	ret = alloc_private(dev, sizeof(*devpriv));
+	if (ret)
+		return ret;
 	devpriv = dev->private;
 
 	pcidev = cb_pcimdda_probe(dev, it);
@@ -257,15 +256,14 @@ static int cb_pcimdda_attach(struct comedi_device *dev,
 	thisboard = comedi_board(dev);
 	dev->board_name = thisboard->name;
 
-	err = comedi_pci_enable(pcidev, dev->board_name);
-	if (err)
-		return err;
+	ret = comedi_pci_enable(pcidev, dev->board_name);
+	if (ret)
+		return ret;
 	dev->iobase = pci_resource_start(pcidev, thisboard->regs_badrindex);
-	devpriv->dio_registers = dev->iobase + thisboard->dio_offset;
 
-	err = comedi_alloc_subdevices(dev, 2);
-	if (err)
-		return err;
+	ret = comedi_alloc_subdevices(dev, 2);
+	if (ret)
+		return ret;
 
 	s = dev->subdevices + 0;
 
@@ -287,11 +285,10 @@ static int cb_pcimdda_attach(struct comedi_device *dev,
 	if (thisboard->dio_chans) {
 		switch (thisboard->dio_method) {
 		case DIO_8255:
-			/*
-			 * this is a straight 8255, so register us with
-			 * the 8255 driver
-			 */
-			subdev_8255_init(dev, s, NULL, devpriv->dio_registers);
+			ret = subdev_8255_init(dev, s, NULL,
+					dev->iobase + thisboard->dio_offset);
+			if (ret)
+				return ret;
 			devpriv->attached_to_8255 = 1;
 			break;
 		case DIO_INTERNAL:
-- 
1.7.11

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ