On Wed, 2021-03-03 at 15:29 +0900, Daejun Park wrote:
> +
> +static inline void ufshpb_put_pre_req(struct ufshpb_lu *hpb,
> +                                     struct ufshpb_req *pre_req)
> +{
> +       pre_req->req = NULL;
> +       pre_req->bio = NULL;
> +       list_add_tail(&pre_req->list_req, &hpb->lh_pre_req_free);
> +       hpb->num_inflight_pre_req--;
> +}
> +
> +static void ufshpb_pre_req_compl_fn(struct request *req,
> blk_status_t error)
> +{
> +       struct ufshpb_req *pre_req = (struct ufshpb_req *)req-
> >end_io_data;
> +       struct ufshpb_lu *hpb = pre_req->hpb;
> +       unsigned long flags;
> +       struct scsi_sense_hdr sshdr;
> +
> +       if (error) {
> +               dev_err(&hpb->sdev_ufs_lu->sdev_dev, "block status
> %d", error);
> +               scsi_normalize_sense(pre_req->sense,
> SCSI_SENSE_BUFFERSIZE,
> +                                    &sshdr);
> +               dev_err(&hpb->sdev_ufs_lu->sdev_dev,
> +                       "code %x sense_key %x asc %x ascq %x",
> +                       sshdr.response_code,
> +                       sshdr.sense_key, sshdr.asc, sshdr.ascq);
> +               dev_err(&hpb->sdev_ufs_lu->sdev_dev,
> +                       "byte4 %x byte5 %x byte6 %x additional_len
> %x",
> +                       sshdr.byte4, sshdr.byte5,
> +                       sshdr.byte6, sshdr.additional_length);
> +       }


How can you print out sense_key and sense code here? sense code will
not be copied to pre_req->sense. you should directly use
scsi_request->sense or let pre_req->sense point to scsi_request->sense.

You update the new version patch so quickly. In another word, I am
wondering if you tested your patch before submitting?

Bean





Reply via email to