summaryrefslogtreecommitdiffstats
path: root/drivers/hid/hid-sony.c
diff options
context:
space:
mode:
authorPaolo Bonzini <pbonzini@redhat.com>2019-11-21 10:01:51 +0100
committerPaolo Bonzini <pbonzini@redhat.com>2019-11-21 12:03:40 +0100
commit46f4f0aabc61bfd365e1eb3c8a6d766d1a49cf32 (patch)
treef98a256ff3e4b20ca6252f7f80ce17759e57c6f2 /drivers/hid/hid-sony.c
parentMerge tag 'kvmarm-5.5' of git://git.kernel.org/pub/scm/linux/kernel/git/kvmar... (diff)
parentKVM: vmx: use MSR_IA32_TSX_CTRL to hard-disable TSX on guest that lack it (diff)
downloadlinux-46f4f0aabc61bfd365e1eb3c8a6d766d1a49cf32.tar.xz
linux-46f4f0aabc61bfd365e1eb3c8a6d766d1a49cf32.zip
Merge branch 'kvm-tsx-ctrl' into HEAD
Conflicts: arch/x86/kvm/vmx/vmx.c
Diffstat (limited to 'drivers/hid/hid-sony.c')
-rw-r--r--drivers/hid/hid-sony.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/drivers/hid/hid-sony.c b/drivers/hid/hid-sony.c
index 73c0f7a95e2d..4c6ed6ef31f1 100644
--- a/drivers/hid/hid-sony.c
+++ b/drivers/hid/hid-sony.c
@@ -2254,9 +2254,15 @@ static int sony_play_effect(struct input_dev *dev, void *data,
static int sony_init_ff(struct sony_sc *sc)
{
- struct hid_input *hidinput = list_entry(sc->hdev->inputs.next,
- struct hid_input, list);
- struct input_dev *input_dev = hidinput->input;
+ struct hid_input *hidinput;
+ struct input_dev *input_dev;
+
+ if (list_empty(&sc->hdev->inputs)) {
+ hid_err(sc->hdev, "no inputs found\n");
+ return -ENODEV;
+ }
+ hidinput = list_entry(sc->hdev->inputs.next, struct hid_input, list);
+ input_dev = hidinput->input;
input_set_capability(input_dev, EV_FF, FF_RUMBLE);
return input_ff_create_memless(input_dev, NULL, sony_play_effect);