From: Hans de Goede Date: Sat, 13 Sep 2014 10:26:46 +0000 (+0200) Subject: uas: Drop COMMAND_COMPLETED flag X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=eb7d664ae459114cbbee8ecef17f90b9c71d994c;p=GitHub%2FLineageOS%2FG12%2Fandroid_kernel_amlogic_linux-4.9.git uas: Drop COMMAND_COMPLETED flag It was only used to sanity check against completing the same cmnd twice, but that is the case we're likely operating on free-ed memory, and doing sanity checks on free-ed memory is not really helpful. Signed-off-by: Hans de Goede Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/usb/storage/uas.c b/drivers/usb/storage/uas.c index 445f9499f8e9..4455fab398ec 100644 --- a/drivers/usb/storage/uas.c +++ b/drivers/usb/storage/uas.c @@ -74,9 +74,8 @@ enum { COMMAND_INFLIGHT = (1 << 8), DATA_IN_URB_INFLIGHT = (1 << 9), DATA_OUT_URB_INFLIGHT = (1 << 10), - COMMAND_COMPLETED = (1 << 11), - COMMAND_ABORTED = (1 << 12), - IS_IN_WORK_LIST = (1 << 13), + COMMAND_ABORTED = (1 << 11), + IS_IN_WORK_LIST = (1 << 12), }; /* Overrides scsi_pointer */ @@ -232,7 +231,7 @@ static void uas_log_cmd_state(struct scsi_cmnd *cmnd, const char *caller) struct uas_cmd_info *ci = (void *)&cmnd->SCp; scmd_printk(KERN_INFO, cmnd, - "%s tag %d inflight:%s%s%s%s%s%s%s%s%s%s%s%s%s ", + "%s tag %d inflight:%s%s%s%s%s%s%s%s%s%s%s%s ", caller, uas_get_tag(cmnd), (ci->state & SUBMIT_STATUS_URB) ? " s-st" : "", (ci->state & ALLOC_DATA_IN_URB) ? " a-in" : "", @@ -244,7 +243,6 @@ static void uas_log_cmd_state(struct scsi_cmnd *cmnd, const char *caller) (ci->state & COMMAND_INFLIGHT) ? " CMD" : "", (ci->state & DATA_IN_URB_INFLIGHT) ? " IN" : "", (ci->state & DATA_OUT_URB_INFLIGHT) ? " OUT" : "", - (ci->state & COMMAND_COMPLETED) ? " done" : "", (ci->state & COMMAND_ABORTED) ? " abort" : "", (ci->state & IS_IN_WORK_LIST) ? " work" : ""); scsi_print_command(cmnd); @@ -280,8 +278,6 @@ static int uas_try_complete(struct scsi_cmnd *cmnd, const char *caller) DATA_OUT_URB_INFLIGHT | COMMAND_ABORTED)) return -EBUSY; - WARN_ON_ONCE(cmdinfo->state & COMMAND_COMPLETED); - cmdinfo->state |= COMMAND_COMPLETED; devinfo->cmnd[uas_get_tag(cmnd) - 1] = NULL; uas_free_unsubmitted_urbs(cmnd); cmnd->scsi_done(cmnd);