diff options
Diffstat (limited to 'drivers/scsi/libiscsi_tcp.c')
| -rw-r--r-- | drivers/scsi/libiscsi_tcp.c | 9 | 
1 files changed, 7 insertions, 2 deletions
diff --git a/drivers/scsi/libiscsi_tcp.c b/drivers/scsi/libiscsi_tcp.c index d51ffeca2ec..db6856c138f 100644 --- a/drivers/scsi/libiscsi_tcp.c +++ b/drivers/scsi/libiscsi_tcp.c @@ -990,8 +990,13 @@ static struct iscsi_r2t_info *iscsi_tcp_get_curr_r2t(struct iscsi_task *task)  		}  		if (r2t == NULL) { -			kfifo_out(&tcp_task->r2tqueue, -				    (void *)&tcp_task->r2t, sizeof(void *)); +			if (kfifo_out(&tcp_task->r2tqueue, +			    (void *)&tcp_task->r2t, sizeof(void *)) != +			    sizeof(void *)) { +				WARN_ONCE(1, "unexpected fifo state"); +				r2t = NULL; +			} +  			r2t = tcp_task->r2t;  		}  		spin_unlock_bh(&session->lock);  |