Why there is a refcnt check when we change configfs property

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

 



Hi Felipe,

Do you know why? In that case, I can't change property, eg changing qmult at NCM
like below:

mkdir functions/ncm.0
ln -s functions/ncm.0 configs/c.1
echo 10 > functions/ncm.0/qmult

The code:
drivers/usb/gadget/function/u_ether_configfs.h

  static ssize_t _f_##_opts_qmult_store(struct config_item *item, \
                                              const char *page, size_t len)\
        {                                                               \
                struct f_##_f_##_opts *opts = to_f_##_f_##_opts(item);  \
                u8 val;                                                 \
                int ret;                                                \
                                                                        \
                mutex_lock(&opts->lock);                                \
                if (opts->refcnt) {                                     \
                        ret = -EBUSY;                                   \
                        goto out;                                       \
                }                                                       \
                                                                        \
                ret = kstrtou8(page, 0, &val);                          \
                if (ret)                                                \
                        goto out;                                       \
                                                                        \
                gether_set_qmult(opts->net, val);                       \
                ret = len;                                              \
out:                                                                    \
                mutex_unlock(&opts->lock);                              \
                return ret;                                             \
        }                                                               \
                                                                        \
        CONFIGFS_ATTR(_f_##_opts_, qmult)

Thanks.

Best regards,
Peter Chen
 





[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux