Use list_for_each_entry_safe to make code more readable.
Compile tested.

Signed-off-by: Domen Puncer <[EMAIL PROTECTED]>
Signed-off-by: Maximilian Attems <[EMAIL PROTECTED]>



---

 linux-2.6.9-rc1-bk7-max/drivers/usb/serial/ipaq.c |   19 +++++--------------
 1 files changed, 5 insertions(+), 14 deletions(-)

diff -puN drivers/usb/serial/ipaq.c~list-for-each-entry-safe-drivers_usb_serial_ipaq 
drivers/usb/serial/ipaq.c
--- 
linux-2.6.9-rc1-bk7/drivers/usb/serial/ipaq.c~list-for-each-entry-safe-drivers_usb_serial_ipaq
      2004-09-01 19:34:33.000000000 +0200
+++ linux-2.6.9-rc1-bk7-max/drivers/usb/serial/ipaq.c   2004-09-01 19:34:33.000000000 
+0200
@@ -419,9 +419,8 @@ static void ipaq_write_gather(struct usb
        struct ipaq_private     *priv = usb_get_serial_port_data(port);
        struct usb_serial       *serial = port->serial;
        int                     count, room;
-       struct ipaq_packet      *pkt;
+       struct ipaq_packet      *pkt, *tmp;
        struct urb              *urb = port->write_urb;
-       struct list_head        *tmp;
 
        if (urb->status == -EINPROGRESS) {
                /* Should never happen */
@@ -429,9 +428,7 @@ static void ipaq_write_gather(struct usb
                return;
        }
        room = URBDATA_SIZE;
-       for (tmp = priv->queue.next; tmp != &priv->queue;) {
-               pkt = list_entry(tmp, struct ipaq_packet, list);
-               tmp = tmp->next;
+       list_for_each_entry_safe(pkt, tmp, &priv->queue, list) {
                count = min(room, (int)(pkt->len - pkt->written));
                memcpy(urb->transfer_buffer + (URBDATA_SIZE - room),
                       pkt->data + pkt->written, count);
@@ -503,22 +500,16 @@ static int ipaq_chars_in_buffer(struct u
 static void ipaq_destroy_lists(struct usb_serial_port *port)
 {
        struct ipaq_private     *priv = usb_get_serial_port_data(port);
-       struct list_head        *tmp;
-       struct ipaq_packet      *pkt;
+       struct ipaq_packet      *pkt, *tmp;
 
-       for (tmp = priv->queue.next; tmp != &priv->queue;) {
-               pkt = list_entry(tmp, struct ipaq_packet, list);
-               tmp = tmp->next;
+       list_for_each_entry_safe(pkt, tmp, &priv->queue, list) {
                kfree(pkt->data);
                kfree(pkt);
        }
-       for (tmp = priv->freelist.next; tmp != &priv->freelist;) {
-               pkt = list_entry(tmp, struct ipaq_packet, list);
-               tmp = tmp->next;
+       list_for_each_entry_safe(pkt, tmp, &priv->freelist, list) {
                kfree(pkt->data);
                kfree(pkt);
        }
-       return;
 }
 
 

_


-------------------------------------------------------
This SF.Net email is sponsored by BEA Weblogic Workshop
FREE Java Enterprise J2EE developer tools!
Get your free copy of BEA WebLogic Workshop 8.1 today.
http://ads.osdn.com/?ad_id=5047&alloc_id=10808&op=click
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to