re: staging: unisys: fix else statement in visornic_main.c

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



[ checkpatch.pl told someone to introduce a bug and they did...  ]

Hello Erik Arfvidson,

The patch 05f1b17ec7aa: "staging: unisys: fix else statement in
visornic_main.c" from Feb 8, 2016, leads to the following static
checker warning:

	drivers/staging/unisys/visornic/visornic_main.c:381 visornic_serverdown()
	error: double unlock 'spin_lock:&devdata->priv_lock'

drivers/staging/unisys/visornic/visornic_main.c
   356  static int
   357  visornic_serverdown(struct visornic_devdata *devdata,
   358                      visorbus_state_complete_func complete_func)
   359  {
   360          unsigned long flags;
   361  
   362          spin_lock_irqsave(&devdata->priv_lock, flags);
   363          if (!devdata->server_down && !devdata->server_change_state) {
   364                  if (devdata->going_away) {
   365                          spin_unlock_irqrestore(&devdata->priv_lock, flags);
   366                          dev_dbg(&devdata->dev->device,
   367                                  "%s aborting because device removal pending\n",
   368                                  __func__);
   369                          return -ENODEV;
   370                  }
   371                  devdata->server_change_state = true;
   372                  devdata->server_down_complete_func = complete_func;
   373                  spin_unlock_irqrestore(&devdata->priv_lock, flags);
                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   374                  visornic_serverdown_complete(devdata);
   375          } else if (devdata->server_change_state) {
   376                  dev_dbg(&devdata->dev->device, "%s changing state\n",
   377                          __func__);
   378                  spin_unlock_irqrestore(&devdata->priv_lock, flags);
   379                  return -EINVAL;
   380          }
   381          spin_unlock_irqrestore(&devdata->priv_lock, flags);
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   382          return 0;
   383  }

regards,
dan carpenter
_______________________________________________
devel mailing list
devel@xxxxxxxxxxxxxxxxxxxxxx
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel



[Index of Archives]     [Linux Driver Backports]     [DMA Engine]     [Linux GPIO]     [Linux SPI]     [Video for Linux]     [Linux USB Devel]     [Linux Coverity]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux