27 May, 2010

3 commits

  • Add a spin_unlock missing on the error path. There seems like no reason
    why the lock should continue to be held if the kzalloc fail.

    The semantic match that finds this problem is as follows:
    (http://coccinelle.lip6.fr/)

    //
    @@
    expression E1;
    @@

    * spin_lock(E1,...);

    * spin_unlock(E1,...);
    //

    Signed-off-by: Julia Lawall
    Signed-off-by: David S. Miller

    Julia Lawall
     
  • The current checksum offload code does not work and this corrects
    that functionality. It also updates the interrupt coallescing
    initialization so than there are fewer interrupts and performance
    is increased.

    Signed-off-by: Brian Hill
    Signed-off-by: John Linn
    Signed-off-by: David S. Miller

    Brian Hill
     
  • The code is not checking the interrupt for DMA correctly so that an
    interrupt number of 0 will cause a false error.

    Signed-off-by: Brian Hill
    Signed-off-by: John Linn
    Signed-off-by: David S. Miller

    Brian Hill
     

26 May, 2010

11 commits


25 May, 2010

19 commits


24 May, 2010

7 commits

  • The i.MX25 PDK uses RMII to communicate with its PHY. This patch adds
    the ability to configure RMII, based on platform data.

    Signed-off-by: Baruch Siach
    Acked-by: Greg Ungerer
    Signed-off-by: David S. Miller

    Baruch Siach
     
  • This patch makes tun update its socket classid every time we
    inject a packet into the network stack. This is so that any
    updates made by the admin to the process writing packets to
    tun is effected.

    Signed-off-by: Herbert Xu
    Signed-off-by: David S. Miller

    Herbert Xu
     
  • Up until now cls_cgroup has relied on fetching the classid out of
    the current executing thread. This runs into trouble when a packet
    processing is delayed in which case it may execute out of another
    thread's context.

    Furthermore, even when a packet is not delayed we may fail to
    classify it if soft IRQs have been disabled, because this scenario
    is indistinguishable from one where a packet unrelated to the
    current thread is processed by a real soft IRQ.

    In fact, the current semantics is inherently broken, as a single
    skb may be constructed out of the writes of two different tasks.
    A different manifestation of this problem is when the TCP stack
    transmits in response of an incoming ACK. This is currently
    unclassified.

    As we already have a concept of packet ownership for accounting
    purposes in the skb->sk pointer, this is a natural place to store
    the classid in a persistent manner.

    This patch adds the cls_cgroup classid in struct sock, filling up
    an existing hole on 64-bit :)

    The value is set at socket creation time. So all sockets created
    via socket(2) automatically gains the ID of the thread creating it.
    Whenever another process touches the socket by either reading or
    writing to it, we will change the socket classid to that of the
    process if it has a valid (non-zero) classid.

    For sockets created on inbound connections through accept(2), we
    inherit the classid of the original listening socket through
    sk_clone, possibly preceding the actual accept(2) call.

    In order to minimise risks, I have not made this the authoritative
    classid. For now it is only used as a backup when we execute
    with soft IRQs disabled. Once we're completely happy with its
    semantics we can use it as the sole classid.

    Footnote: I have rearranged the error path on cls_group module
    creation. If we didn't do this, then there is a window where
    someone could create a tc rule using cls_group before the cgroup
    subsystem has been registered.

    Signed-off-by: Herbert Xu
    Signed-off-by: David S. Miller

    Herbert Xu
     
  • Anomaly 05000230 (over sampling of the UART STOP bit) applies only when
    the peripheral is operating in UART mode. So drop the anomaly handling
    in the IRDA code.

    Signed-off-by: Graf Yang
    Signed-off-by: Mike Frysinger
    Signed-off-by: David S. Miller

    Graf Yang
     
  • Dummy implementations for the optional CAPI controller operations
    load_firmware and reset_ctr can cause userspace callers to hang
    indefinitely. It's better not to implement them at all.

    Signed-off-by: Tilman Schmidt
    Acked-by: Karsten Keil
    Signed-off-by: David S. Miller

    Tilman Schmidt
     
  • The CAPI controller operation reset_ctr is marked as optional, and
    not all drivers do implement it. Add a check to the kernel CAPI
    whether it exists before trying to call it.

    Signed-off-by: Tilman Schmidt
    Acked-by: Karsten Keil
    Signed-off-by: David S. Miller

    Tilman Schmidt
     
  • This assignment got deleted along with the checks by mistake. This
    comes from: 8753d29fd "pppoe: remove unnecessary checks in
    pppoe_flush_dev"

    Signed-off-by: Dan Carpenter
    Signed-off-by: David S. Miller

    Dan Carpenter