Commit 1bc3c9e1 authored by Jesper Juhl's avatar Jesper Juhl Committed by Greg K-H
Browse files

[PATCH] USB: kfree cleanup for drivers/usb/* - no need to check for NULL



Get rid of a bunch of redundant NULL pointer checks in drivers/usb/*,
there's no need to check a pointer for NULL before calling kfree() on it.

Signed-off-by: default avatarJesper Juhl <juhl-lkml@dif.dk>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>


Index: gregkh-2.6/drivers/usb/class/audio.c
===================================================================
parent 6fd19f4b
Loading
Loading
Loading
Loading
+16 −32
Original line number Diff line number Diff line
@@ -649,13 +649,9 @@ static void usbin_stop(struct usb_audiodev *as)
		}
	}
	set_current_state(TASK_RUNNING);
	if (u->durb[0].urb->transfer_buffer)
	kfree(u->durb[0].urb->transfer_buffer);
	if (u->durb[1].urb->transfer_buffer)
	kfree(u->durb[1].urb->transfer_buffer);
	if (u->surb[0].urb->transfer_buffer)
	kfree(u->surb[0].urb->transfer_buffer);
	if (u->surb[1].urb->transfer_buffer)
	kfree(u->surb[1].urb->transfer_buffer);
	u->durb[0].urb->transfer_buffer = u->durb[1].urb->transfer_buffer = 
		u->surb[0].urb->transfer_buffer = u->surb[1].urb->transfer_buffer = NULL;
@@ -1009,20 +1005,16 @@ static int usbin_start(struct usb_audiodev *as)
		u->phase = 0;
		maxsze = (u->freqmax + 0x3fff) >> (14 - AFMT_BYTESSHIFT(u->format));
		bufsz = DESCFRAMES * maxsze;
		if (u->durb[0].urb->transfer_buffer)
		kfree(u->durb[0].urb->transfer_buffer);
		u->durb[0].urb->transfer_buffer = kmalloc(bufsz, GFP_KERNEL);
		u->durb[0].urb->transfer_buffer_length = bufsz;
		if (u->durb[1].urb->transfer_buffer)
		kfree(u->durb[1].urb->transfer_buffer);
		u->durb[1].urb->transfer_buffer = kmalloc(bufsz, GFP_KERNEL);
		u->durb[1].urb->transfer_buffer_length = bufsz;
		if (u->syncpipe) {
			if (u->surb[0].urb->transfer_buffer)
			kfree(u->surb[0].urb->transfer_buffer);
			u->surb[0].urb->transfer_buffer = kmalloc(3*SYNCFRAMES, GFP_KERNEL);
			u->surb[0].urb->transfer_buffer_length = 3*SYNCFRAMES;
			if (u->surb[1].urb->transfer_buffer)
			kfree(u->surb[1].urb->transfer_buffer);
			u->surb[1].urb->transfer_buffer = kmalloc(3*SYNCFRAMES, GFP_KERNEL);
			u->surb[1].urb->transfer_buffer_length = 3*SYNCFRAMES;
@@ -1128,13 +1120,9 @@ static void usbout_stop(struct usb_audiodev *as)
		}
	}
	set_current_state(TASK_RUNNING);
	if (u->durb[0].urb->transfer_buffer)
	kfree(u->durb[0].urb->transfer_buffer);
	if (u->durb[1].urb->transfer_buffer)
	kfree(u->durb[1].urb->transfer_buffer);
	if (u->surb[0].urb->transfer_buffer)
	kfree(u->surb[0].urb->transfer_buffer);
	if (u->surb[1].urb->transfer_buffer)
	kfree(u->surb[1].urb->transfer_buffer);
	u->durb[0].urb->transfer_buffer = u->durb[1].urb->transfer_buffer = 
		u->surb[0].urb->transfer_buffer = u->surb[1].urb->transfer_buffer = NULL;
@@ -1376,20 +1364,16 @@ static int usbout_start(struct usb_audiodev *as)
		u->phase = 0;
		maxsze = (u->freqmax + 0x3fff) >> (14 - AFMT_BYTESSHIFT(u->format));
		bufsz = DESCFRAMES * maxsze;
		if (u->durb[0].urb->transfer_buffer)
		kfree(u->durb[0].urb->transfer_buffer);
		u->durb[0].urb->transfer_buffer = kmalloc(bufsz, GFP_KERNEL);
		u->durb[0].urb->transfer_buffer_length = bufsz;
		if (u->durb[1].urb->transfer_buffer)
		kfree(u->durb[1].urb->transfer_buffer);
		u->durb[1].urb->transfer_buffer = kmalloc(bufsz, GFP_KERNEL);
		u->durb[1].urb->transfer_buffer_length = bufsz;
		if (u->syncpipe) {
			if (u->surb[0].urb->transfer_buffer)
			kfree(u->surb[0].urb->transfer_buffer);
			u->surb[0].urb->transfer_buffer = kmalloc(3*SYNCFRAMES, GFP_KERNEL);
			u->surb[0].urb->transfer_buffer_length = 3*SYNCFRAMES;
			if (u->surb[1].urb->transfer_buffer)
			kfree(u->surb[1].urb->transfer_buffer);
			u->surb[1].urb->transfer_buffer = kmalloc(3*SYNCFRAMES, GFP_KERNEL);
			u->surb[1].urb->transfer_buffer_length = 3*SYNCFRAMES;
+2 −5
Original line number Diff line number Diff line
@@ -637,11 +637,8 @@ static int usb_device_open(struct inode *inode, struct file *file)

static int usb_device_release(struct inode *inode, struct file *file)
{
	if (file->private_data) {
	kfree(file->private_data);
	file->private_data = NULL;
	}

        return 0;
}

+6 −10
Original line number Diff line number Diff line
@@ -728,15 +728,11 @@ static void hub_disconnect(struct usb_interface *intf)
	list_del_init(&hub->event_list);
	spin_unlock_irq(&hub_event_lock);

	if (hub->descriptor) {
	kfree(hub->descriptor);
	hub->descriptor = NULL;
	}

	if (hub->status) {
	kfree(hub->status);
	hub->status = NULL;
	}

	if (hub->buffer) {
		usb_buffer_free(hdev, sizeof(*hub->buffer), hub->buffer,
+2 −3
Original line number Diff line number Diff line
@@ -2312,8 +2312,7 @@ static struct gs_buf *gs_buf_alloc(unsigned int size, int kmalloc_flags)
 */
void gs_buf_free(struct gs_buf *gb)
{
	if (gb != NULL) {
		if (gb->buf_buf != NULL)
	if (gb) {
		kfree(gb->buf_buf);
		kfree(gb);
	}
+1 −2
Original line number Diff line number Diff line
@@ -156,7 +156,6 @@ static void ehci_mem_cleanup (struct ehci_hcd *ehci)
	ehci->periodic = NULL;

	/* shadow periodic table */
	if (ehci->pshadow)
	kfree(ehci->pshadow);
	ehci->pshadow = NULL;
}
Loading