The following patches were made over Martin's scsi staging/next branch. They add a struct that contains optinal arguments to the scsi_execute* functions. This will be needed for the patches that allow the scsi passthrough users to control retries because I'm adding a new optional argument. I separated the 2 sets to make it easier to review and post. v3: - Init scsi_exec_args user's sshdr as "sshdr = sshdr ? : local". - Use just one sense_len check and remove the scsi_execute_args wrapper. - Just use one scsi_execute_cmd function and have it check if the args is NULL else use a local one. - Pass exec_args by pointer. v2: - Fix RQF_QUIET use. - Use the more standard way of passing in a struct for passing in the scsi_exec_args struct. - Pass a struct scsi_exec_args instead of pointer and add another macro for the case the caller doesn't want to pass in a scsi_exec_args struct. Then remove the NULL args check in __scsi_execute.