瀏覽代碼

esas2r: fix an error path in esas2r_ioctl_handler

Is seems strange to manipulate nvram_semaphore when in this place,
this patch fixes it.

Signed-off-by: Tomas Henzl <thenzl@redhat.com>
Acked-by: Bradley Grove <bgrove@attotech.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Tomas Henzl 10 年之前
父節點
當前提交
ba9e5874b2
共有 1 個文件被更改,包括 4 次插入3 次删除
  1. 4 3
      drivers/scsi/esas2r/esas2r_ioctl.c

+ 4 - 3
drivers/scsi/esas2r/esas2r_ioctl.c

@@ -1420,9 +1420,10 @@ int esas2r_ioctl_handler(void *hostdata, int cmd, void __user *arg)
 
 
 		rq = esas2r_alloc_request(a);
 		rq = esas2r_alloc_request(a);
 		if (rq == NULL) {
 		if (rq == NULL) {
-			up(&a->nvram_semaphore);
-			ioctl->data.prw.code = 0;
-			break;
+			kfree(ioctl);
+			esas2r_log(ESAS2R_LOG_WARN,
+			   "could not allocate an internal request");
+			return -ENOMEM;
 		}
 		}
 
 
 		code = esas2r_write_params(a, rq,
 		code = esas2r_write_params(a, rq,