diff options
author | Dan Williams <dan.j.williams@intel.com> | 2012-06-21 23:36:20 -0700 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2012-08-09 08:27:34 -0700 |
commit | 3f67ec4b517d985ac6961a1a03f91339e62657c0 (patch) | |
tree | 1305d7aed880c49dd1ccf35fac67faf230c714a4 /drivers/scsi/hpsa.c | |
parent | 2da74cd8a6bad64d02207396c76d0939f3c57aaa (diff) | |
download | kernel_samsung_espresso10-3f67ec4b517d985ac6961a1a03f91339e62657c0.zip kernel_samsung_espresso10-3f67ec4b517d985ac6961a1a03f91339e62657c0.tar.gz kernel_samsung_espresso10-3f67ec4b517d985ac6961a1a03f91339e62657c0.tar.bz2 |
SCSI: libsas: fix sas_discover_devices return code handling
commit b17caa174a7e1fd2e17b26e210d4ee91c4c28b37 upstream.
commit 198439e4 [SCSI] libsas: do not set res = 0 in sas_ex_discover_dev()
commit 19252de6 [SCSI] libsas: fix wide port hotplug issues
The above commits seem to have confused the return value of
sas_ex_discover_dev which is non-zero on failure and
sas_ex_join_wide_port which just indicates short circuiting discovery on
already established ports. The result is random discovery failures
depending on configuration.
Calls to sas_ex_join_wide_port are the source of the trouble as its
return value is errantly assigned to 'res'. Convert it to bool and stop
returning its result up the stack.
Tested-by: Dan Melnic <dan.melnic@amd.com>
Reported-by: Dan Melnic <dan.melnic@amd.com>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Reviewed-by: Jack Wang <jack_wang@usish.com>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/scsi/hpsa.c')
0 files changed, 0 insertions, 0 deletions