[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <200910252056.03993.oliver@neukum.org>
Date:	Sun, 25 Oct 2009 20:56:03 +0100
From:	Oliver Neukum <oliver@...kum.org>
To:	bart.hartgers@...il.com
Cc:	"Greg Kroah-Hartman" <gregkh@...e.de>, linux-usb@...r.kernel.org,
	linux-kernel@...r.kernel.org
Subject: Re: [PATCH 2/7] ark3116: (3rd try) Make existing functions 16450-aware and add close and release functions.
Am Sonntag, 25. Oktober 2009 18:50:59 schrieb bart.hartgers@...il.com:
> +static void ark3116_close(struct usb_serial_port *port)
> +{
> +       struct usb_serial *serial = port->serial;
>  
> -       /* TEST ARK3116_SND(154, 0xFE, 0x40, 0xFFFF, 0x0006); */
> +       /* disable DMA */
> +       ark3116_write_reg(serial, UART_FCR, 0);
>  
> -       kfree(buf);
> +       /* deactivate interrupts */
> +       ark3116_write_reg(serial, UART_IER, 0);
>  
> -       return;
> +       if (serial->dev) {
> +               /* shutdown any bulk reads that might be going on */
> +               if (serial->num_bulk_out)
> +                       usb_kill_urb(port->write_urb);
> +               if (serial->num_bulk_in)
> +                       usb_kill_urb(port->read_urb);
> +               if (serial->num_interrupt_in)
> +                       usb_kill_urb(port->interrupt_in_urb);
> +       }
>  }
Why are the killings done on condition of serial-> != NULL but the registers
are set unconditionally?
	Regards
		Oliver
Powered by blists - more mailing lists
 
