Re: [PATCH 1/3] esas2r: fir error handling in do_fm_api

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

 




Looks good.

Acked-by: Bradley Grove <bgrove@xxxxxxxxxxxx>

Thanks,
Brad

On 11/16/2014 08:35 AM, Tomas Henzl wrote:
This patch fixes an error path and rearranges error handling.

Signed-off-by: Tomas Henzl <thenzl@xxxxxxxxxx>
---
  drivers/scsi/esas2r/esas2r_ioctl.c | 10 +++++-----
  1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/drivers/scsi/esas2r/esas2r_ioctl.c b/drivers/scsi/esas2r/esas2r_ioctl.c
index d89a0277a8..9ac8207554 100644
--- a/drivers/scsi/esas2r/esas2r_ioctl.c
+++ b/drivers/scsi/esas2r/esas2r_ioctl.c
@@ -117,9 +117,8 @@ static void do_fm_api(struct esas2r_adapter *a, struct esas2r_flash_img *fi)

  	rq = esas2r_alloc_request(a);
  	if (rq == NULL) {
-		up(&a->fm_api_semaphore);
  		fi->status = FI_STAT_BUSY;
-		return;
+		goto free_sem;
  	}

  	if (fi == &a->firmware.header) {
@@ -135,7 +134,7 @@ static void do_fm_api(struct esas2r_adapter *a, struct esas2r_flash_img *fi)
  		if (a->firmware.header_buff == NULL) {
  			esas2r_debug("failed to allocate header buffer!");
  			fi->status = FI_STAT_BUSY;
-			return;
+			goto free_req;
  		}

  		memcpy(a->firmware.header_buff, fi,
@@ -171,9 +170,10 @@ all_done:
  				  a->firmware.header_buff,
  				  (dma_addr_t)a->firmware.header_buff_phys);
  	}
-
-	up(&a->fm_api_semaphore);
+free_req:
  	esas2r_free_request(a, (struct esas2r_request *)rq);
+free_sem:
+	up(&a->fm_api_semaphore);
  	return;

  }


--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [SCSI Target Devel]     [Linux SCSI Target Infrastructure]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Samba]     [Device Mapper]
  Powered by Linux