Re: [PATCH v16 1/3] scsi: ufs: Introduce HPB feature

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sat, Dec 19, 2020 at 06:18:47PM +0900, Daejun Park wrote:
> +static int ufshpb_get_state(struct ufshpb_lu *hpb)
> +{
> +	return atomic_read(&hpb->hpb_state);
> +}
> +
> +static void ufshpb_set_state(struct ufshpb_lu *hpb, int state)
> +{
> +	atomic_set(&hpb->hpb_state, state);
> +}

You have a lock for the state, and yet the state is an atomic variable
and you do not use the lock here at all.  You don't use the lock at all
infact...

So either the lock needs to be dropped, or you need to use the lock and
make the state a normal variable please.

> +static void ufshpb_hpb_lu_prepared(struct ufs_hba *hba)
> +{
> +	struct ufshpb_lu *hpb;
> +	struct scsi_device *sdev;
> +	bool init_success;
> +
> +	init_success = !ufshpb_check_hpb_reset_query(hba);
> +
> +	shost_for_each_device(sdev, hba->host) {
> +		hpb = sdev->hostdata;
> +		if (!hpb)
> +			continue;
> +
> +		if (init_success) {
> +			dev_info(hba->dev, "set state to present\n");

Why be noisy?  Why does userspace need to see this all the time,
shouldn't only errors be printing something?

thanks,

greg k-h



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [SCSI Target Devel]     [Linux SCSI Target Infrastructure]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Samba]     [Device Mapper]

  Powered by Linux