]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/commitdiff
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6
authorLinus Torvalds <torvalds@linux-foundation.org>
Fri, 16 Jan 2009 00:53:15 +0000 (16:53 -0800)
committerLinus Torvalds <torvalds@linux-foundation.org>
Fri, 16 Jan 2009 00:53:15 +0000 (16:53 -0800)
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (95 commits)
  b44: GFP_DMA skb should not escape from driver
  korina: do not use IRQF_SHARED with IRQF_DISABLED
  korina: do not stop queue here
  korina: fix handling tx_chain_tail
  korina: do tx at the right position
  korina: do schedule napi after testing for it
  korina: rework korina_rx() for use with napi
  korina: disable napi on close and restart
  korina: reset resource buffer size to 1536
  korina: fix usage of driver_data
  bnx2x: First slow path interrupt race
  bnx2x: MTU Filter
  bnx2x: Indirection table initialization index
  bnx2x: Missing brackets
  bnx2x: Fixing the doorbell size
  bnx2x: Endianness issues
  bnx2x: VLAN tagged packets without VLAN offload
  bnx2x: Protecting the link change indication
  bnx2x: Flow control updated before reporting the link
  bnx2x: Missing mask when calculating flow control
  ...

1  2 
drivers/net/usb/hso.c

diff --combined drivers/net/usb/hso.c
index 6478bf63f2897d9444e4138991bd8f811f1ed801,d17dc5214c9af483ab83c712926f5c0b82c210e8..0d0fa91c025130fa96637d70a89b2cc101b89233
@@@ -1297,7 -1297,6 +1297,7 @@@ static int hso_serial_open(struct tty_s
        /* setup */
        spin_lock_irq(&serial->serial_lock);
        tty->driver_data = serial;
 +      tty_kref_put(serial->tty);
        serial->tty = tty_kref_get(tty);
        spin_unlock_irq(&serial->serial_lock);
  
@@@ -1793,8 -1792,8 +1793,8 @@@ static int mux_device_request(struct hs
  
        /* initialize */
        ctrl_req->wValue = 0;
-       ctrl_req->wIndex = hso_port_to_mux(port);
-       ctrl_req->wLength = size;
+       ctrl_req->wIndex = cpu_to_le16(hso_port_to_mux(port));
+       ctrl_req->wLength = cpu_to_le16(size);
  
        if (type == USB_CDC_GET_ENCAPSULATED_RESPONSE) {
                /* Reading command */
@@@ -2044,8 -2043,9 +2044,8 @@@ static int put_rxbuf_data(struct urb *u
                return -2;
        }
  
 -      spin_lock(&serial->serial_lock);
 +      /* All callers to put_rxbuf_data hold serial_lock */
        tty = tty_kref_get(serial->tty);
 -      spin_unlock(&serial->serial_lock);
  
        /* Push data to tty */
        if (tty) {
                        serial->curr_rx_urb_offset;
                D1("data to push to tty");
                while (write_length_remaining) {
 -                      if (test_bit(TTY_THROTTLED, &tty->flags))
 +                      if (test_bit(TTY_THROTTLED, &tty->flags)) {
 +                              tty_kref_put(tty);
                                return -1;
 +                      }
                        curr_write_len =  tty_insert_flip_string
                                (tty, urb->transfer_buffer +
                                 serial->curr_rx_urb_offset,