mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-11-24 11:40:53 +07:00
Char/misc driver fixes for 5.6-rc7
Here are some small different driver fixes for 5.6-rc7 - binderfs fix, yet again - slimbus new device id added - hwtracing bugfixes for reported issues and a new device id All of these have been in linux-next with no reported issues. Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> -----BEGIN PGP SIGNATURE----- iG0EABECAC0WIQT0tgzFv3jCIUoxPcsxR9QN2y37KQUCXnTQmw8cZ3JlZ0Brcm9h aC5jb20ACgkQMUfUDdst+ymASwCeLhlhgP/F9W7WqG1hWzJ0Dq8mkEUAn3W7GZs6 0FrrI5ksBmjd0kTX5dbt =vMc6 -----END PGP SIGNATURE----- Merge tag 'char-misc-5.6-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc Pull char/misc driver fixes from Greg KH: "Here are some small different driver fixes for 5.6-rc7: - binderfs fix, yet again - slimbus new device id added - hwtracing bugfixes for reported issues and a new device id All of these have been in linux-next with no reported issues" * tag 'char-misc-5.6-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc: intel_th: pci: Add Elkhart Lake CPU support intel_th: Fix user-visible error codes intel_th: msu: Fix the unexpected state warning stm class: sys-t: Fix the use of time_after() slimbus: ngd: add v2.1.0 compatible binderfs: use refcount for binder control devices too
This commit is contained in:
commit
f014d2b858
@ -448,6 +448,7 @@ static int binderfs_binder_ctl_create(struct super_block *sb)
|
||||
inode->i_uid = info->root_uid;
|
||||
inode->i_gid = info->root_gid;
|
||||
|
||||
refcount_set(&device->ref, 1);
|
||||
device->binderfs_inode = inode;
|
||||
device->miscdev.minor = minor;
|
||||
|
||||
|
@ -718,9 +718,6 @@ static int msc_win_set_lockout(struct msc_window *win,
|
||||
|
||||
if (old != expect) {
|
||||
ret = -EINVAL;
|
||||
dev_warn_ratelimited(msc_dev(win->msc),
|
||||
"expected lockout state %d, got %d\n",
|
||||
expect, old);
|
||||
goto unlock;
|
||||
}
|
||||
|
||||
@ -741,6 +738,10 @@ static int msc_win_set_lockout(struct msc_window *win,
|
||||
/* from intel_th_msc_window_unlock(), don't warn if not locked */
|
||||
if (expect == WIN_LOCKED && old == new)
|
||||
return 0;
|
||||
|
||||
dev_warn_ratelimited(msc_dev(win->msc),
|
||||
"expected lockout state %d, got %d\n",
|
||||
expect, old);
|
||||
}
|
||||
|
||||
return ret;
|
||||
@ -760,7 +761,7 @@ static int msc_configure(struct msc *msc)
|
||||
lockdep_assert_held(&msc->buf_mutex);
|
||||
|
||||
if (msc->mode > MSC_MODE_MULTI)
|
||||
return -ENOTSUPP;
|
||||
return -EINVAL;
|
||||
|
||||
if (msc->mode == MSC_MODE_MULTI) {
|
||||
if (msc_win_set_lockout(msc->cur_win, WIN_READY, WIN_INUSE))
|
||||
@ -1294,7 +1295,7 @@ static int msc_buffer_alloc(struct msc *msc, unsigned long *nr_pages,
|
||||
} else if (msc->mode == MSC_MODE_MULTI) {
|
||||
ret = msc_buffer_multi_alloc(msc, nr_pages, nr_wins);
|
||||
} else {
|
||||
ret = -ENOTSUPP;
|
||||
ret = -EINVAL;
|
||||
}
|
||||
|
||||
if (!ret) {
|
||||
@ -1530,7 +1531,7 @@ static ssize_t intel_th_msc_read(struct file *file, char __user *buf,
|
||||
if (ret >= 0)
|
||||
*ppos = iter->offset;
|
||||
} else {
|
||||
ret = -ENOTSUPP;
|
||||
ret = -EINVAL;
|
||||
}
|
||||
|
||||
put_count:
|
||||
|
@ -234,6 +234,11 @@ static const struct pci_device_id intel_th_pci_id_table[] = {
|
||||
PCI_DEVICE(PCI_VENDOR_ID_INTEL, 0x4da6),
|
||||
.driver_data = (kernel_ulong_t)&intel_th_2x,
|
||||
},
|
||||
{
|
||||
/* Elkhart Lake CPU */
|
||||
PCI_DEVICE(PCI_VENDOR_ID_INTEL, 0x4529),
|
||||
.driver_data = (kernel_ulong_t)&intel_th_2x,
|
||||
},
|
||||
{
|
||||
/* Elkhart Lake */
|
||||
PCI_DEVICE(PCI_VENDOR_ID_INTEL, 0x4b26),
|
||||
|
@ -238,7 +238,7 @@ static struct configfs_attribute *sys_t_policy_attrs[] = {
|
||||
static inline bool sys_t_need_ts(struct sys_t_output *op)
|
||||
{
|
||||
if (op->node.ts_interval &&
|
||||
time_after(op->ts_jiffies + op->node.ts_interval, jiffies)) {
|
||||
time_after(jiffies, op->ts_jiffies + op->node.ts_interval)) {
|
||||
op->ts_jiffies = jiffies;
|
||||
|
||||
return true;
|
||||
@ -250,8 +250,8 @@ static inline bool sys_t_need_ts(struct sys_t_output *op)
|
||||
static bool sys_t_need_clock_sync(struct sys_t_output *op)
|
||||
{
|
||||
if (op->node.clocksync_interval &&
|
||||
time_after(op->clocksync_jiffies + op->node.clocksync_interval,
|
||||
jiffies)) {
|
||||
time_after(jiffies,
|
||||
op->clocksync_jiffies + op->node.clocksync_interval)) {
|
||||
op->clocksync_jiffies = jiffies;
|
||||
|
||||
return true;
|
||||
|
@ -1320,6 +1320,9 @@ static const struct of_device_id qcom_slim_ngd_dt_match[] = {
|
||||
{
|
||||
.compatible = "qcom,slim-ngd-v1.5.0",
|
||||
.data = &ngd_v1_5_offset_info,
|
||||
},{
|
||||
.compatible = "qcom,slim-ngd-v2.1.0",
|
||||
.data = &ngd_v1_5_offset_info,
|
||||
},
|
||||
{}
|
||||
};
|
||||
|
Loading…
Reference in New Issue
Block a user