summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* [DCCP]: Convert Reset code into socket error numberGerrit Renker2007-10-242-9/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | This adds support for converting the 11 currently defined Reset codes into system error numbers, which are stored in sk_err for further interpretation. This makes the externally visible API behaviour similar to TCP, since a client connecting to a non-existing port will experience ECONNREFUSED. * Code 0, Unspecified, is interpreted as non-error (0); * Code 1, Closed (normal termination), also maps into 0; * Code 2, Aborted, maps into "Connection reset by peer" (ECONNRESET); * Code 3, No Connection and Code 7, Connection Refused, map into "Connection refused" (ECONNREFUSED); * Code 4, Packet Error, maps into "No message of desired type" (ENOMSG); * Code 5, Option Error, maps into "Illegal byte sequence" (EILSEQ); * Code 6, Mandatory Error, maps into "Operation not supported on transport endpoint" (EOPNOTSUPP); * Code 8, Bad Service Code, maps into "Invalid request code" (EBADRQC); * Code 9, Too Busy, maps into "Too many users" (EUSERS); * Code 10, Bad Init Cookie, maps into "Invalid request descriptor" (EBADR); * Code 11, Aggression Penalty, maps into "Quota exceeded" (EDQUOT) which makes sense in terms of using more than the `fair share' of bandwidth. Signed-off-by: Gerrit Renker <gerrit@erg.abdn.ac.uk> Acked-by: Ian McDonald <ian.mcdonald@jandi.co.nz> Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
* [DCCP]: One more exemption from full sequence number checksGerrit Renker2007-10-241-1/+1
| | | | | | | | | | | | | | | | | | | | This fixes the following problem: client connects to peer which has no DCCP enabled or loaded; ICMP error messages ("Protocol Unavailable") can be seen on the wire, but the application hangs. Reason: ICMP packets don't get through to dccp_v4_err. When reporting errors, a sequence number check is made for the DCCP packet that had caused an ICMP error to arrive. Such checks can not be made if the socket is in state LISTEN, RESPOND (which in the implementation is the same as LISTEN), or REQUEST, since update_gsr() has not been called in these states, hence the sequence window is 0..0. This patch fixes the problem by adding the REQUEST state as another exemption to the window check. The error reporting now works as expected on connecting. Signed-off-by: Gerrit Renker <gerrit@erg.abdn.ac.uk> Acked-by: Ian McDonald <ian.mcdonald@jandi.co.nz> Signed-off-by: Arnaldo Carvalho de Melo <acme@ghostprotocols.net>
* [DCCP]: Retrieve packet sequence number for error reportingGerrit Renker2007-10-243-10/+8
| | | | | | | | | | | | | | This fixes a problem when analysing erroneous packets in dccp_v{4,6}_err: * dccp_hdr_seq currently takes an skb * however, the transport headers in the skb are shifted, due to the preceding IPv4/v6 header. Fixed for v4 and v6 by changing dccp_hdr_seq to take a struct dccp_hdr as argument. Verified that the correct sequence number is now reported in the error handler. Signed-off-by: Gerrit Renker <gerrit@erg.abdn.ac.uk> Acked-by: Ian McDonald <ian.mcdonald@jandi.co.nz> Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
* [IPV4]: Explicitly call fib_get_table() in fib_frontend.cPavel Emelyanov2007-10-231-5/+7
| | | | | | | | | | | In case the "multiple tables" config option is y, the ip_fib_local_table is not a variable, but a macro, that calls fib_get_table(RT_TABLE_LOCAL). Some code uses this "variable" *3* times in one place, thus implicitly making 3 calls. Fix it. Signed-off-by: Pavel Emelyanov <xemul@openvz.org> Signed-off-by: David S. Miller <davem@davemloft.net>
* [NET]: Use BUILD_BUG_ON in net/core/flowi.cPavel Emelyanov2007-10-231-4/+1
| | | | | | | Instead of ugly extern not-existing function. Signed-off-by: Pavel Emelyanov <xemul@openvz.org> Signed-off-by: David S. Miller <davem@davemloft.net>
* [NET]: Remove in-code externs for some functions from net/core/dev.cPavel Emelyanov2007-10-233-4/+12
| | | | | | | | | | | Inconsistent prototype and real type for functions may have worse consequences, than those for variables, so move them into a header. Since they are used privately in net/core, make this file reside in the same place. Signed-off-by: Pavel Emelyanov <xemul@openvz.org> Signed-off-by: David S. Miller <davem@davemloft.net>
* [NET]: Don't declare extern variables in net/core/sysctl_net_core.cPavel Emelyanov2007-10-233-20/+7
| | | | | | | | | | | Some are already declared in include/linux/netdevice.h, while some others (xfrm ones) need to be declared. The driver/net/rrunner.c just uses same extern as well, so cleanup it also. Signed-off-by: Pavel Emelyanov <xemul@openvz.org> Signed-off-by: David S. Miller <davem@davemloft.net>
* [TCP]: Remove unneeded implicit type cast when calling tcp_minshall_update()Chuck Lever2007-10-231-1/+1
| | | | | | | | | | | The tcp_minshall_update() function is called in exactly one place, and is passed an unsigned integer for the mss_len argument. Make the sign of the argument match the sign of the passed variable in order to eliminate an unneeded implicit type cast and a mixed sign comparison in tcp_minshall_update(). Signed-off-by: Chuck Lever <chuck.lever@oracle.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* [NET]: Treat the sign of the result of skb_headroom() consistentlyChuck Lever2007-10-239-10/+10
| | | | | | | | | In some places, the result of skb_headroom() is compared to an unsigned integer, and in others, the result is compared to a signed integer. Make the comparisons consistent and correct. Signed-off-by: Chuck Lever <chuck.lever@oracle.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* [9P]: Fix missing unlock before return in p9_mux_poll_startRoel Kluin2007-10-231-1/+3
| | | | | Signed-off-by: Roel Kluin <12o3l@tiscali.nl> Signed-off-by: David S. Miller <davem@davemloft.net>
* [PKT_SCHED]: Fix sch_prio.c build with CONFIG_NETDEVICES_MULTIQUEUEPavel Emelyanov2007-10-231-2/+2
| | | | | | | | | | | | | | | Fix one more user of netiff_subqueue_stopped. To check for the queue id one must use the __netiff_subqueue_stoped call. This run out of my sight when I made the: 668f895a85b0c3a62a690425145f13dabebebd7a [NET]: Hide the queue_mapping field inside netif_subqueue_stopped commit :( Signed-off-by: Pavel Emelyanov <xemul@openvz.org> Signed-off-by: David S. Miller <davem@davemloft.net>
* [IPV4] ip_gre: sendto/recvfrom NBMA addressTimo Teras2007-10-231-1/+11
| | | | | | | | | | | | | When GRE tunnel is in NBMA mode, this patch allows an application to use a PF_PACKET socket to: - send a packet to specific NBMA address with sendto() - use recvfrom() to receive packet and check which NBMA address it came from This is required to implement properly NHRP over GRE tunnel. Signed-off-by: Timo Teras <timo.teras@iki.fi> Acked-by: Alexey Kuznetsov <kuznet@ms2.inr.ac.ru> Signed-off-by: David S. Miller <davem@davemloft.net>
* [SCTP]: Consolidate sctp_ulpq_renege_xxx functionsPavel Emelyanov2007-10-231-24/+10
| | | | | | | | Both are equal, except for the list to be traversed. Signed-off-by: Pavel Emelyanov <xemul@openvz.org> Acked-by: Vlad Yasevich <vladislav.yasevich@hp.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* [NETLINK]: Fix ACK processing after netlink_dump_startDenis V. Lunev2007-10-231-4/+12
| | | | | | | | | | | | | Revert to original netlink behavior. Do not reply with ACK if the netlink dump has bees successfully started. libnl has been broken by the cd40b7d3983c708aabe3d3008ec64ffce56d33b0 The following command reproduce the problem: /nl-route-get 192.168.1.1 Signed-off-by: Denis V. Lunev <den@openvz.org> Acked-by: Thomas Graf <tgraf@suug.ch> Signed-off-by: David S. Miller <davem@davemloft.net>
* [VLAN]: MAINTAINERS updatePatrick McHardy2007-10-231-0/+6
| | | | | | | | | Ben stepped down from VLAN maintainership due to a lack of time, add myself as new maintainer. Signed-off-by: Patrick McHardy <kaber@trash.net> Acked-by: Ben Greear <greearb@candelatech.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* [DCCP]: Implement SIOCINQ/FIONREADArnaldo Carvalho de Melo2007-10-231-2/+31
| | | | | | | | | Just like UDP. Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com> Signed-off-by: Leandro Melo de Sales <leandroal@gmail.com> Signed-off-by: Ian McDonald <ian.mcdonald@jandi.co.nz> Signed-off-by: David S. Miller <davem@davemloft.net>
* [NET]: Validate device addr prior to interface-upJeff Garzik2007-10-233-5/+20
| | | | | Signed-off-by: Jeff Garzik <jgarzik@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* Linux 2.6.24-rc1v2.6.24-rc1Linus Torvalds2007-10-231-2/+2
| | | | | | | | | | | The patch is big. Really big. You just won't believe how vastly hugely mindbogglingly big it is. I mean you may think it's a long way down the road to the chemist, but that's just peanuts to how big the patch from 2.6.23 is. But it's all good. Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* add port definition for mcf UART driverGreg Ungerer2007-10-231-0/+3
| | | | | | | Add a port type definition for the Freescale UART driver ports (mcf.c). Signed-off-by: Greg Ungerer <gerg@uclinux.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* m68knommu: remove unused machdep variable definitionsGreg Ungerer2007-10-231-4/+7
| | | | | | | | Remove old definitions of the timer function pointers. Add definitions of the common hardware timer functions. Signed-off-by: Greg Ungerer <gerg@uclinux.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* m68knommu: define DMA channels for ColdFire 532xGreg Ungerer2007-10-231-0/+2
| | | | | | | Create definition for DMA channels on the ColdFire 532x family. Signed-off-by: Greg Ungerer <gerg@uclinux.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* m68knommu: add platform struct for ColdFire UART driverGreg Ungerer2007-10-231-0/+10
| | | | | | | Add platform support structure for use with new ColdFire UART driver. Signed-off-by: Greg Ungerer <gerg@uclinux.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* m68knommu: mark mem init functions as __initGreg Ungerer2007-10-231-2/+2
| | | | | | | Mark the m68knommu memory init functions as __init. Signed-off-by: Greg Ungerer <gerg@uclinux.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* m68knommu: mark setup_arch() as __initGreg Ungerer2007-10-231-1/+1
| | | | | | | Mark the m68knommu setup_arch() function as __init. Signed-off-by: Greg Ungerer <gerg@uclinux.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* m68knommu: cleanup 68VZ328 init codeGreg Ungerer2007-10-231-11/+1
| | | | | | | | Removed header includes not needed. Remove use of old m68knommu timer function pointers. Signed-off-by: Greg Ungerer <gerg@uclinux.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* m68knommu: cleanup 68EZ328 init codeGreg Ungerer2007-10-231-17/+2
| | | | | | | | Clean up 68EZ328 timer support code. Removed header includes not needed. Remove use of old m68knommu timer function pointers. Signed-off-by: Greg Ungerer <gerg@uclinux.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* m68knommu: cleanup 68360 startup codeGreg Ungerer2007-10-231-35/+16
| | | | | | | | | Clean up 68360 timer support code. Removed header includes not needed. Remove use of old m68knommu timer function pointers. Use common function naming for 68328 timer functions. Signed-off-by: Greg Ungerer <gerg@uclinux.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* m68knommu: cleanup 68328 timer codeGreg Ungerer2007-10-231-12/+15
| | | | | | | | Use common function naming for 68328 timer functions to make them consistent with the various other hardware m68knommu timers. Signed-off-by: Greg Ungerer <gerg@uclinux.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* m68knommu: cleanup 68328 init codeGreg Ungerer2007-10-231-22/+2
| | | | | | | | Clean up 68328 timer support code. Removed header includes not needed. Remove use of old m68knommu timer function pointers. Signed-off-by: Greg Ungerer <gerg@uclinux.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* m68knommu: remove unused variables in setup.cGreg Ungerer2007-10-231-3/+0
| | | | | | | Remove unused variables from setup.c code. Signed-off-by: Greg Ungerer <gerg@uclinux.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* Merge branch 'irq-upstream' of ↵Linus Torvalds2007-10-2339-536/+484
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/misc-2.6 * 'irq-upstream' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/misc-2.6: [SPARC, XEN, NET/CXGB3] use irq_handler_t where appropriate drivers/char/riscom8: clean up irq handling isdn/sc: irq handler clean isdn/act2000: fix major bug. clean irq handler. char/pcmcia/synclink_cs: trim trailing whitespace drivers/char/ip2: separate polling and irq-driven work entry points drivers/char/ip2: split out irq core logic into separate function [NETDRVR] lib82596, netxen: delete pointless tests from irq handler Eliminate pointless casts from void* in a few driver irq handlers. [PARPORT] Remove unused 'irq' argument from parport irq functions [PARPORT] Kill useful 'irq' arg from parport_{generic_irq,ieee1284_interrupt} [PARPORT] Consolidate code copies into a single generic irq handler
| * [SPARC, XEN, NET/CXGB3] use irq_handler_t where appropriateJeff Garzik2007-10-234-8/+6
| | | | | | | | | | | | | | Rather than hand-rolling our own prototype, make the code more future-proof by using the standard irq_handler_t typedef. Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
| * drivers/char/riscom8: clean up irq handlingJeff Garzik2007-10-231-11/+5
| | | | | | | | | | | | | | | | | | | | Make irq handling more efficient, by passing board pointer via request_irq() to our irq handler's dev_id argument. This eliminates a table lookup upon each interrupt, and eliminates an associated global variable (the table). Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
| * isdn/sc: irq handler cleanJeff Garzik2007-10-232-16/+4
| | | | | | | | | | | | | | | | * pass card number to irq handler * use card number in irq handler to avoid looping through each adapter Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
| * isdn/act2000: fix major bug. clean irq handler.Jeff Garzik2007-10-231-4/+8
| | | | | | | | | | | | | | | | | | * invert sense of request_irq() test. otherwise we will always fail, when IRQ is available. * no need to use 'irq' function arg, its stored in a data struct already Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
| * char/pcmcia/synclink_cs: trim trailing whitespaceJeff Garzik2007-10-231-353/+353
| | | | | | | | Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
| * drivers/char/ip2: separate polling and irq-driven work entry pointsJeff Garzik2007-10-231-7/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Polling currently calls the irq handler, which loops through all the boards, calling the work function for all polling boards with work. irq handling loops through all the boards, finding the specific board that applies to us, and calling the work just for that one board. The two logics are sufficiently different to warrant different functions, rather than being slack and calling the same function in two different ways. This serves to make the interrupt handler a -lot- more efficient. Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
| * drivers/char/ip2: split out irq core logic into separate functionJeff Garzik2007-10-231-18/+26
| | | | | | | | | | | | No changes besides code movement and glue. Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
| * [NETDRVR] lib82596, netxen: delete pointless tests from irq handlerJeff Garzik2007-10-232-16/+3
| | | | | | | | | | | | | | | | Remove always-false tests in irq handler. Also a few other minor cleanups. Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
| * Eliminate pointless casts from void* in a few driver irq handlers.Jeff Garzik2007-10-236-9/+10
| | | | | | | | Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
| * [PARPORT] Remove unused 'irq' argument from parport irq functionsJeff Garzik2007-10-2311-39/+19
| | | | | | | | | | | | | | None of the drivers with a struct pardevice's ->irq_func() hook ever used the 'irq' argument passed to it, so remove it. Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
| * [PARPORT] Kill useful 'irq' arg from parport_{generic_irq,ieee1284_interrupt}Jeff Garzik2007-10-235-9/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | parport_ieee1284_interrupt() was not using its first arg at all. Delete. parport_generic_irq()'s second arg makes its first arg completely redundant. Delete, and use port->irq in the one place where we actually need it. Also, s/__inline__/inline/ to make the code look nicer. Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
| * [PARPORT] Consolidate code copies into a single generic irq handlerJeff Garzik2007-10-239-50/+25
| | | | | | | | | | | | | | | | | | Several arches used the exact same code for their parport irq handling. Make that code generic, in parport_irq_handler(). Also, s/__inline__/inline/ in include/linux/parport.h. Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
* | Merge branch 'warnings' of ↵Linus Torvalds2007-10-233-4/+1
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/misc-2.6 * 'warnings' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/misc-2.6: ni5010: kill unused variable eexpress: fix !SMP unused-var warning cgroup: kill unused variable
| * | ni5010: kill unused variableJeff Garzik2007-10-231-2/+0
| | | | | | | | | | | | Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
| * | eexpress: fix !SMP unused-var warningJeff Garzik2007-10-231-1/+1
| | | | | | | | | | | | Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
| * | cgroup: kill unused variableJeff Garzik2007-10-231-1/+0
| |/ | | | | | | Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
* | Merge branch 'upstream-linus' of ↵Linus Torvalds2007-10-2320-1284/+1330
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6 * 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6: (39 commits) Remove Andrew Morton from list of net driver maintainers. bonding: Acquire correct locks in alb for promisc change bonding: Convert more locks to _bh, acquire rtnl, for new locking bonding: Convert locks to _bh, rework alb locking for new locking bonding: Convert miimon to new locking bonding: Convert balance-rr transmit to new locking Convert bonding timers to workqueues Update MAINTAINERS to reflect my (jgarzik's) current efforts. pasemi_mac: fix typo defxx.c: dfx_bus_init() is __devexit not __devinit s390 MAINTAINERS remove header_ops bug in qeth driver sky2: crash on remove MIPSnet: Delete all the useless debugging printks. AR7 ethernet: small post-merge cleanups and fixes mv643xx_eth: Hook up mv643xx_get_sset_count mv643xx_eth: Remove obsolete checksum offload comment mv643xx_eth: Merge drivers/net/mv643xx_eth.h into mv643xx_eth.c mv643xx_eth: Remove unused register defines mv643xx_eth: Clean up mv643xx_eth.h ...
| * | Remove Andrew Morton from list of net driver maintainers.Jeff Garzik2007-10-231-2/+0
| | | | | | | | | | | | | | | | | | | | | He now rules the world, not just this tiny tract of land. Signed-off-by: Jeff Garzik <jgarzik@redhat.com> Acked-by: Andrew Morton
| * | bonding: Acquire correct locks in alb for promisc changeJay Vosburgh2007-10-231-9/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | Update ALB mode monitor to hold correct locks (RTNL and nothing else) when calling dev_set_promiscuity. Signed-off-by: Andy Gospodarek <andy@greyhouse.net> Signed-off-by: Jay Vosburgh <fubar@us.ibm.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>