On 17/10/18 15:00, Matthew Wilcox wrote: > On Wed, Oct 17, 2018 at 02:49:50PM +0200, Johannes Thumshirn wrote: >> On 17/10/18 14:34, YueHaibing wrote: >>> - srb_tag = le32_to_cpu(scsiqp->srb_tag); >>> scp = scsi_host_find_tag(boardp->shost, scsiqp->srb_tag); >> >> Shouldn't this be: >> scp = scsi_host_find_tag(boardp->shost, >> le32_to_cpu(scsiqp->srb_tag)); > > I don't think so. Look at how scsiqp->srb_tag is set: > > adv_build_req(struct asc_board *boardp, struct scsi_cmnd *scp, > ADV_SCSI_REQ_Q **adv_scsiqpp) > { > + u32 srb_tag = scp->request->tag; > ... > + scsiqp->srb_tag = srb_tag; > > If we're not converting it to le32 on the way in, we probably don't want > to convert it back on the way out. Yeah right, didn't check the submission path. It was just the removed srb_tag = le32_to_cpu(scsiqp->srb_tag); that triggered here. > Please don't make me power up my PA-RISC machine with an Advansys card > in it, just to find out ... Now that your saying it... -- Johannes Thumshirn SUSE Labs jthumshirn@xxxxxxx +49 911 74053 689 SUSE LINUX GmbH, Maxfeldstr. 5, 90409 Nürnberg GF: Felix Imendörffer, Jane Smithard, Graham Norton HRB 21284 (AG Nürnberg) Key fingerprint = EC38 9CAB C2C4 F25D 8600 D0D0 0393 969D 2D76 0850