Răsfoiți Sursa

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 ani în urmă
părinte
comite
ba9e5874b2
1 a modificat fișierele cu 4 adăugiri și 3 ștergeri
  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);
 		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,