mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-07-22 03:27:30 -04:00
USB: usb-storage: ene_ub6250: restore media-ready check
Commit1892bf9067("USB: usb-storage: Fix use of bitfields for hardware data in ene_ub6250.c") converted the media status fields from bitfields to bit masks. The original ene_transport() test called ene_init() only when neither media type was ready: !(sd_ready || ms_ready) The converted test became: !sd_ready || ms_ready This is not equivalent. Restore the original semantics by testing that both ready bits are clear before calling ene_init(). Fixes:1892bf9067("USB: usb-storage: Fix use of bitfields for hardware data in ene_ub6250.c") Cc: stable <stable@kernel.org> Signed-off-by: Xu Rao <raoxu@uniontech.com> Reviewed-by: Alan Stern <stern@rowland.harvard.edu> Link: https://patch.msgid.link/F42641386E32404F+20260626070607.4119527-1-raoxu@uniontech.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
30adce93d5
commit
5fc3f333c0
@@ -2305,7 +2305,8 @@ static int ene_transport(struct scsi_cmnd *srb, struct us_data *us)
|
||||
|
||||
/*US_DEBUG(usb_stor_show_command(us, srb)); */
|
||||
scsi_set_resid(srb, 0);
|
||||
if (unlikely(!(info->SD_Status & SD_Ready) || (info->MS_Status & MS_Ready)))
|
||||
if (unlikely(!(info->SD_Status & SD_Ready) &&
|
||||
!(info->MS_Status & MS_Ready)))
|
||||
result = ene_init(us);
|
||||
if (result == USB_STOR_XFER_GOOD) {
|
||||
result = USB_STOR_TRANSPORT_ERROR;
|
||||
|
||||
Reference in New Issue
Block a user