From: Heiko Carstens <heiko.carstens@xxxxxxxxxx> If allocation of a status buffer failed the function incorrectly returned 0 instead of -ENOMEM. Signed-off-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Signed-off-by: Martin Peschke <mp3@xxxxxxxxxx> --- drivers/s390/scsi/zfcp_fsf.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff -urpN linux-2.6/drivers/s390/scsi/zfcp_fsf.c linux-2.6-patched/drivers/s390/scsi/zfcp_fsf.c --- linux-2.6/drivers/s390/scsi/zfcp_fsf.c 2008-05-08 14:02:10.000000000 +0200 +++ linux-2.6-patched/drivers/s390/scsi/zfcp_fsf.c 2008-05-08 14:02:10.000000000 +0200 @@ -712,7 +712,7 @@ zfcp_fsf_status_read(struct zfcp_adapter struct fsf_status_read_buffer *status_buffer; unsigned long lock_flags; volatile struct qdio_buffer_element *sbale; - int retval = 0; + int retval; /* setup new FSF request */ retval = zfcp_fsf_req_create(adapter, FSF_QTCB_UNSOLICITED_STATUS, @@ -731,12 +731,11 @@ zfcp_fsf_status_read(struct zfcp_adapter sbale[2].flags |= SBAL_FLAGS_LAST_ENTRY; fsf_req->sbale_curr = 2; + retval = -ENOMEM; status_buffer = mempool_alloc(adapter->pool.data_status_read, GFP_ATOMIC); - if (!status_buffer) { - ZFCP_LOG_NORMAL("bug: could not get some buffer\n"); + if (!status_buffer) goto failed_buf; - } memset(status_buffer, 0, sizeof (struct fsf_status_read_buffer)); fsf_req->data = (unsigned long) status_buffer; -- -- 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