The `while` loop in `bonding_detach()` doesn't need to check
`devpriv->devs` each time round the loop.  Move the test outside the
loop.  The enclosing `if (devpriv)` can be changed to `if (devpriv &&
devpriv->devs)` as everything in this `if` statement is associated with
`devpriv->devs` anyway.

Signed-off-by: Ian Abbott <abbo...@mev.co.uk>
---
 drivers/staging/comedi/drivers/comedi_bond.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/staging/comedi/drivers/comedi_bond.c 
b/drivers/staging/comedi/drivers/comedi_bond.c
index a2cc285..2ea605f 100644
--- a/drivers/staging/comedi/drivers/comedi_bond.c
+++ b/drivers/staging/comedi/drivers/comedi_bond.c
@@ -339,11 +339,11 @@ static void bonding_detach(struct comedi_device *dev)
 {
        struct comedi_bond_private *devpriv = dev->private;
 
-       if (devpriv) {
+       if (devpriv && devpriv->devs) {
                DECLARE_BITMAP(devs_closed, COMEDI_NUM_BOARD_MINORS);
 
                memset(&devs_closed, 0, sizeof(devs_closed));
-               while (devpriv->ndevs-- && devpriv->devs) {
+               while (devpriv->ndevs--) {
                        struct bonded_device *bdev;
 
                        bdev = devpriv->devs[devpriv->ndevs];
-- 
1.8.3.2

_______________________________________________
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel

Reply via email to