|
@@ -170,18 +170,13 @@ static void udl_free_urb_list(struct drm_device *dev)
|
|
struct list_head *node;
|
|
struct list_head *node;
|
|
struct urb_node *unode;
|
|
struct urb_node *unode;
|
|
struct urb *urb;
|
|
struct urb *urb;
|
|
- int ret;
|
|
|
|
unsigned long flags;
|
|
unsigned long flags;
|
|
|
|
|
|
DRM_DEBUG("Waiting for completes and freeing all render urbs\n");
|
|
DRM_DEBUG("Waiting for completes and freeing all render urbs\n");
|
|
|
|
|
|
/* keep waiting and freeing, until we've got 'em all */
|
|
/* keep waiting and freeing, until we've got 'em all */
|
|
while (count--) {
|
|
while (count--) {
|
|
-
|
|
|
|
- /* Getting interrupted means a leak, but ok at shutdown*/
|
|
|
|
- ret = down_interruptible(&udl->urbs.limit_sem);
|
|
|
|
- if (ret)
|
|
|
|
- break;
|
|
|
|
|
|
+ down(&udl->urbs.limit_sem);
|
|
|
|
|
|
spin_lock_irqsave(&udl->urbs.lock, flags);
|
|
spin_lock_irqsave(&udl->urbs.lock, flags);
|
|
|
|
|