diff options
author | Mike Christie <michaelc@cs.wisc.edu> | 2014-07-12 22:51:48 +0200 |
---|---|---|
committer | Christoph Hellwig <hch@lst.de> | 2014-08-01 14:16:39 +0200 |
commit | 2f7608fc5e6c8a70df3ce31406feee70a42458ba (patch) | |
tree | b43d58a2735f06ae869e39a37e765fc4543a4ff1 /drivers | |
parent | qla4xxx: fix get_host_stats error propagation (diff) | |
download | linux-2f7608fc5e6c8a70df3ce31406feee70a42458ba.tar.xz linux-2f7608fc5e6c8a70df3ce31406feee70a42458ba.zip |
iscsi class: fix get_host_stats error handling
iscsi_get_host_stats was dropping the error code returned
by drivers like qla4xxx.
Signed-off-by: Mike Christie <michaelc@cs.wisc.edu>
Acked-by: Vikas Chaudhary <vikas.chaudhary@qlogic.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/scsi/scsi_transport_iscsi.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/scsi/scsi_transport_iscsi.c b/drivers/scsi/scsi_transport_iscsi.c index b481e62a12cc..14bfa53c6f7d 100644 --- a/drivers/scsi/scsi_transport_iscsi.c +++ b/drivers/scsi/scsi_transport_iscsi.c @@ -3467,6 +3467,10 @@ iscsi_get_host_stats(struct iscsi_transport *transport, struct nlmsghdr *nlh) memset(buf, 0, host_stats_size); err = transport->get_host_stats(shost, buf, host_stats_size); + if (err) { + kfree(skbhost_stats); + goto exit_host_stats; + } actual_size = nlmsg_total_size(sizeof(*ev) + host_stats_size); skb_trim(skbhost_stats, NLMSG_ALIGN(actual_size)); |