diff options
author | Mike Christie <michaelc@cs.wisc.edu> | 2007-02-28 18:32:21 -0500 |
---|---|---|
committer | James Bottomley <jejb@mulgrave.il.steeleye.com> | 2007-03-11 12:30:11 -0400 |
commit | 0f238418b6d41cdfc85f2f399848429ff6fbfbd0 (patch) | |
tree | 12a0b9cedc9aad715b1ade7955e365e173b37088 /drivers/scsi/iscsi_tcp.c | |
parent | 8231f0eddbe425cc3b54f2d723bb03531925272e (diff) |
[SCSI] iscsi_tcp: print useful error message when iscsi crc23c allocation fails
People do not read the README and seem to like to
unselect the crc32c module even though iscsi_tcp selects
it for them. This patch spits a error that tells the user
that they really do need the module. Hopefully, we will
get fewer people asking about this now.
Signed-off-by: Mike Christie <michaelc@cs.wisc.edu>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Diffstat (limited to 'drivers/scsi/iscsi_tcp.c')
-rw-r--r-- | drivers/scsi/iscsi_tcp.c | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/drivers/scsi/iscsi_tcp.c b/drivers/scsi/iscsi_tcp.c index 861cb9be40b0..c9a3abf9e7b6 100644 --- a/drivers/scsi/iscsi_tcp.c +++ b/drivers/scsi/iscsi_tcp.c | |||
@@ -1777,14 +1777,24 @@ iscsi_tcp_conn_create(struct iscsi_cls_session *cls_session, uint32_t conn_idx) | |||
1777 | tcp_conn->tx_hash.tfm = crypto_alloc_hash("crc32c", 0, | 1777 | tcp_conn->tx_hash.tfm = crypto_alloc_hash("crc32c", 0, |
1778 | CRYPTO_ALG_ASYNC); | 1778 | CRYPTO_ALG_ASYNC); |
1779 | tcp_conn->tx_hash.flags = 0; | 1779 | tcp_conn->tx_hash.flags = 0; |
1780 | if (IS_ERR(tcp_conn->tx_hash.tfm)) | 1780 | if (IS_ERR(tcp_conn->tx_hash.tfm)) { |
1781 | printk(KERN_ERR "Could not create connection due to crc32c " | ||
1782 | "loading error %ld. Make sure the crc32c module is " | ||
1783 | "built as a module or into the kernel\n", | ||
1784 | PTR_ERR(tcp_conn->tx_hash.tfm)); | ||
1781 | goto free_tcp_conn; | 1785 | goto free_tcp_conn; |
1786 | } | ||
1782 | 1787 | ||
1783 | tcp_conn->rx_hash.tfm = crypto_alloc_hash("crc32c", 0, | 1788 | tcp_conn->rx_hash.tfm = crypto_alloc_hash("crc32c", 0, |
1784 | CRYPTO_ALG_ASYNC); | 1789 | CRYPTO_ALG_ASYNC); |
1785 | tcp_conn->rx_hash.flags = 0; | 1790 | tcp_conn->rx_hash.flags = 0; |
1786 | if (IS_ERR(tcp_conn->rx_hash.tfm)) | 1791 | if (IS_ERR(tcp_conn->rx_hash.tfm)) { |
1792 | printk(KERN_ERR "Could not create connection due to crc32c " | ||
1793 | "loading error %ld. Make sure the crc32c module is " | ||
1794 | "built as a module or into the kernel\n", | ||
1795 | PTR_ERR(tcp_conn->rx_hash.tfm)); | ||
1787 | goto free_tx_tfm; | 1796 | goto free_tx_tfm; |
1797 | } | ||
1788 | 1798 | ||
1789 | return cls_conn; | 1799 | return cls_conn; |
1790 | 1800 | ||