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 Original line Diff line number Diff line
@@ -68,7 +68,6 @@ struct appledisplay {


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


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


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


	spin_lock_irqsave(&pdata->lock, flags);

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


	spin_unlock_irqrestore(&pdata->lock, flags);

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


	pdata->udev = udev;
	pdata->udev = udev;


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