scsi: ses: Don't attach if enclosure has no components
commit 3fe97ff3d9 upstream.
An enclosure with no components can't usefully be operated by the driver
(since effectively it has nothing to manage), so report the problem and
don't attach. Not attaching also fixes an oops which could occur if the
driver tries to manage a zero component enclosure.
[mkp: Switched to KERN_WARNING since this scenario is common]
Link: https://lore.kernel.org/r/c5deac044ac409e32d9ad9968ce0dcbc996bfc7a.camel@linux.ibm.com
Cc: stable@vger.kernel.org
Reported-by: Ding Hui <dinghui@sangfor.com.cn>
Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
0d14ace68d
commit
d68937dfc7
@@ -704,6 +704,12 @@ static int ses_intf_add(struct device *cdev,
|
|||||||
type_ptr[0] == ENCLOSURE_COMPONENT_ARRAY_DEVICE)
|
type_ptr[0] == ENCLOSURE_COMPONENT_ARRAY_DEVICE)
|
||||||
components += type_ptr[1];
|
components += type_ptr[1];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (components == 0) {
|
||||||
|
sdev_printk(KERN_WARNING, sdev, "enclosure has no enumerated components\n");
|
||||||
|
goto err_free;
|
||||||
|
}
|
||||||
|
|
||||||
ses_dev->page1 = buf;
|
ses_dev->page1 = buf;
|
||||||
ses_dev->page1_len = len;
|
ses_dev->page1_len = len;
|
||||||
buf = NULL;
|
buf = NULL;
|
||||||
|
|||||||
Reference in New Issue
Block a user