Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 3ea5eb13 authored by Alexander Theissen's avatar Alexander Theissen Committed by Greg Kroah-Hartman
Browse files

usb: appledisplay: Remove unnecessary spinlock



The spinlock was inside the urb completion function which is only
called once per display and is then resubmitted from this function.
There was no other place where this lock was used.

Signed-off-by: default avatarAlexander Theissen <alex.theissen@me.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 67f3a0d0
Loading
Loading
Loading
Loading
+0 −7
Original line number Diff line number Diff line
@@ -68,7 +68,6 @@ struct appledisplay {

	struct delayed_work work;
	int button_pressed;
	spinlock_t lock;
	struct mutex sysfslock;		/* concurrent read and write */
};

@@ -78,7 +77,6 @@ static void appledisplay_complete(struct urb *urb)
{
	struct appledisplay *pdata = urb->context;
	struct device *dev = &pdata->udev->dev;
	unsigned long flags;
	int status = urb->status;
	int retval;

@@ -104,8 +102,6 @@ static void appledisplay_complete(struct urb *urb)
		goto exit;
	}

	spin_lock_irqsave(&pdata->lock, flags);

	switch(pdata->urbdata[1]) {
	case ACD_BTN_BRIGHT_UP:
	case ACD_BTN_BRIGHT_DOWN:
@@ -118,8 +114,6 @@ static void appledisplay_complete(struct urb *urb)
		break;
	}

	spin_unlock_irqrestore(&pdata->lock, flags);

exit:
	retval = usb_submit_urb(pdata->urb, GFP_ATOMIC);
	if (retval) {
@@ -228,7 +222,6 @@ static int appledisplay_probe(struct usb_interface *iface,

	pdata->udev = udev;

	spin_lock_init(&pdata->lock);
	INIT_DELAYED_WORK(&pdata->work, appledisplay_work);
	mutex_init(&pdata->sysfslock);