diff options
author | Asai Thambi S P <asamymuthupa@micron.com> | 2012-04-16 15:27:55 -0400 |
---|---|---|
committer | Jens Axboe <axboe@kernel.dk> | 2012-05-11 10:42:14 -0400 |
commit | a09ba13eefb155a00d8d50008a0c0a2406985ddd (patch) | |
tree | 1afe2bddb155f43ac9cfbad623aa6550cc4d4e84 /drivers/block/mtip32xx | |
parent | d88a440eddf288c967daed827147e1121c2ab6b5 (diff) |
mtip32xx: release the semaphore on an error path
Release the semaphore in an error path in mtip_hw_get_scatterlist(). This
fixes the smatch warning inconsistent returns.
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Asai Thambi S P <asamymuthupa@micron.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'drivers/block/mtip32xx')
-rw-r--r-- | drivers/block/mtip32xx/mtip32xx.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/block/mtip32xx/mtip32xx.c b/drivers/block/mtip32xx/mtip32xx.c index 00f9fc992090..304000c3d433 100644 --- a/drivers/block/mtip32xx/mtip32xx.c +++ b/drivers/block/mtip32xx/mtip32xx.c | |||
@@ -2510,8 +2510,10 @@ static struct scatterlist *mtip_hw_get_scatterlist(struct driver_data *dd, | |||
2510 | up(&dd->port->cmd_slot); | 2510 | up(&dd->port->cmd_slot); |
2511 | return NULL; | 2511 | return NULL; |
2512 | } | 2512 | } |
2513 | if (unlikely(*tag < 0)) | 2513 | if (unlikely(*tag < 0)) { |
2514 | up(&dd->port->cmd_slot); | ||
2514 | return NULL; | 2515 | return NULL; |
2516 | } | ||
2515 | 2517 | ||
2516 | return dd->port->commands[*tag].sg; | 2518 | return dd->port->commands[*tag].sg; |
2517 | } | 2519 | } |