diff options
author | Stefani Seibold <stefani@seibold.net> | 2009-12-21 17:37:29 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2009-12-22 17:17:56 -0500 |
commit | 9842c38e917636fa7dc6b88aff17a8f1fd7f0cc0 (patch) | |
tree | 71d0b52ddc243743046bba9f774beca9febc393a /drivers/scsi | |
parent | 7acd72eb85f1c7a15e8b5eb554994949241737f1 (diff) |
kfifo: fix warn_unused_result
Fix the "ignoring return value of '...', declared with attribute
warn_unused_result" compiler warning in several users of the new kfifo
API.
It removes the __must_check attribute from kfifo_in() and
kfifo_in_locked() which must not necessary performed.
Fix the allocation bug in the nozomi driver file, by moving out the
kfifo_alloc from the interrupt handler into the probe function.
Fix the kfifo_out() and kfifo_out_locked() users to handle a unexpected
end of fifo.
Signed-off-by: Stefani Seibold <stefani@seibold.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'drivers/scsi')
-rw-r--r-- | drivers/scsi/libiscsi_tcp.c | 9 | ||||
-rw-r--r-- | drivers/scsi/libsrp.c | 7 |
2 files changed, 12 insertions, 4 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) | |||
990 | } | 990 | } |
991 | 991 | ||
992 | if (r2t == NULL) { | 992 | if (r2t == NULL) { |
993 | kfifo_out(&tcp_task->r2tqueue, | 993 | if (kfifo_out(&tcp_task->r2tqueue, |
994 | (void *)&tcp_task->r2t, sizeof(void *)); | 994 | (void *)&tcp_task->r2t, sizeof(void *)) != |
995 | sizeof(void *)) { | ||
996 | WARN_ONCE(1, "unexpected fifo state"); | ||
997 | r2t = NULL; | ||
998 | } | ||
999 | |||
995 | r2t = tcp_task->r2t; | 1000 | r2t = tcp_task->r2t; |
996 | } | 1001 | } |
997 | spin_unlock_bh(&session->lock); | 1002 | spin_unlock_bh(&session->lock); |
diff --git a/drivers/scsi/libsrp.c b/drivers/scsi/libsrp.c index 8424b8606ef..ab19b3b4be5 100644 --- a/drivers/scsi/libsrp.c +++ b/drivers/scsi/libsrp.c | |||
@@ -163,8 +163,11 @@ struct iu_entry *srp_iu_get(struct srp_target *target) | |||
163 | { | 163 | { |
164 | struct iu_entry *iue = NULL; | 164 | struct iu_entry *iue = NULL; |
165 | 165 | ||
166 | kfifo_out_locked(&target->iu_queue.queue, (void *) &iue, | 166 | if (kfifo_out_locked(&target->iu_queue.queue, (void *) &iue, |
167 | sizeof(void *), &target->iu_queue.lock); | 167 | sizeof(void *), &target->iu_queue.lock) != sizeof(void *)) { |
168 | WARN_ONCE(1, "unexpected fifo state"); | ||
169 | return NULL; | ||
170 | } | ||
168 | if (!iue) | 171 | if (!iue) |
169 | return iue; | 172 | return iue; |
170 | iue->target = target; | 173 | iue->target = target; |