aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKrzysztof Oledzki <olel@ans.pl>2008-03-04 14:56:23 -0800
committerChris Wright <chrisw@sous-sol.org>2008-03-24 11:47:42 -0700
commit282dac698e338351d3b9fb9db2739fe07e1c2ef9 (patch)
tree81b36b290d7fbab24f8db5bce6a87fa8e82cfb90
parent94429518999e4e6b8f84807afa4bf089a63da0b4 (diff)
SCSI: mpt fusion: don't oops if NumPhys==0
Don't oops if NumPhys==0, instead return -ENODEV. This patch fixes http://bugzilla.kernel.org/show_bug.cgi?id=9909 Signed-off-by: Krzysztof Piotr Oledzki <ole@ans.pl> Acked-by: Eric Moore <Eric.Moore@lsi.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com> Signed-off-by: Chris Wright <chrisw@sous-sol.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-rw-r--r--drivers/message/fusion/mptsas.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/message/fusion/mptsas.c b/drivers/message/fusion/mptsas.c
index e4c94f93de16..c8d3ffb425be 100644
--- a/drivers/message/fusion/mptsas.c
+++ b/drivers/message/fusion/mptsas.c
@@ -1699,6 +1699,11 @@ mptsas_sas_expander_pg0(MPT_ADAPTER *ioc, struct mptsas_portinfo *port_info,
if (error)
goto out_free_consistent;
+ if (!buffer->NumPhys) {
+ error = -ENODEV;
+ goto out_free_consistent;
+ }
+
/* save config data */
port_info->num_phys = buffer->NumPhys;
port_info->phy_info = kcalloc(port_info->num_phys,