11 Dec, 2008
2 commits
-
Sparse asked whether these could be static.
Signed-off-by: Roel Kluin
Signed-off-by: David S. Miller -
Convert the driver to select 16-bit or 32-bit bus access at runtime,
at a small performance cost.Signed-off-by: Steve Glendinning
Acked-by: Catalin Marinas
Signed-off-by: David S. Miller
10 Dec, 2008
13 commits
-
This patch implements the PCIe Advanced Error Reporting callbacks in
ixgbe. The 82598 hardware supports AER, so we enable it.Signed-off-by: Peter P Waskiewicz Jr
Signed-off-by: Jeff Kirsher
Signed-off-by: David S. Miller -
When running in a virtual environment the ports of an 82575/6 can appear to
be single function devices which is not correct. To resolve this we rely
on the function number stored in the status register.Signed-off-by: Alexander Duyck
Signed-off-by: Jeff Kirsher
Signed-off-by: David S. Miller -
As we begin to move into virtualization the use of a global value for
buffer sizes becomes undesirable. This change makes it so only 256 and 512
byte buffers require use of the RCTL register.Signed-off-by: Alexander Duyck
Signed-off-by: Jeff Kirsher
Signed-off-by: David S. Miller -
Turn all bond_parm_tbls const.
Signed-off-by: Holger Eitzenberger
Signed-off-by: David S. Miller -
bond_parse_parm() parses a parameter table for a particular value and
is therefore not modifying the table at all. Therefore make the 2nd
argument const, thus allowing to make the tables const later.Signed-off-by: Holger Eitzenberger
Signed-off-by: David S. Miller -
Remove some declarations from bonding.c as they are declared in bonding.h
already.Signed-off-by: Holger Eitzenberger
Signed-off-by: David S. Miller -
Use pr_debug() instead of own macros.
Signed-off-by: Holger Eitzenberger
Signed-off-by: David S. Miller -
This is what I get if debug is enabled:
drivers/net/bonding/bond_ipv6.c: In function 'bond_na_send':
drivers/net/bonding/bond_ipv6.c:75: error: 'slave' undeclared (first use in this function)
drivers/net/bonding/bond_ipv6.c:75: error: (Each undeclared identifier is reported only once
drivers/net/bonding/bond_ipv6.c:75: error: for each function it appears in.)This patch fixes that.
Signed-off-by: Holger Eitzenberger
Signed-off-by: David S. Miller -
Use a small array in bond_mode_name() for the names, thus saving some
space:before
text data bss dec hex filename
57736 9372 344 67452 1077c drivers/net/bonding/bonding.koafter
text data bss dec hex filename
57441 9372 344 67157 10655 drivers/net/bonding/bonding.koSigned-off-by: Holger Eitzenberger
Signed-off-by: David S. Miller -
Introduce and use bond_is_lb(), it is usefull to shorten the repetitive
check for either ALB or TLB mode.Signed-off-by: Holger Eitzenberger
Signed-off-by: David S. Miller -
We can skip WARN_ON() in htb_dequeue_tree() because there should be
always a similar warning from htb_lookup_leaf() earlier.The first WARN_ON() in in htb_lookup_leaf() is changed to BUG_ON()
because most likly this should end with oops anyway.Signed-off-by: Jarek Poplawski
Signed-off-by: David S. Miller -
htb_id_find_next_upper() is usually called to find a class with next
id after some previously removed class, so let's move a check for
equality to the end: it's the least likely here.Signed-off-by: Jarek Poplawski
Signed-off-by: David S. Miller -
Adds LSI ET1011C PHY driver.
This driver is used by TI DM646x EVM.Signed-off-by: Chaithrika U S
Signed-off-by: David S. Miller
09 Dec, 2008
4 commits
-
As Stephen Rothwell points out, we don't want 'sock' here but
rather we really do want 'sk'.This local var is protected by all sorts of bluetooth debugging
kconfig vars, but BT_DBG() is just a straight pr_debug() call
which is unconditional.pr_debug() evaluates it's args only if either DEBUG or
CONFIG_DYNAMIC_PRINTK_DEBUG is defined.Solving this inside of the BT_DBG() macro is non-trivial since
it's varargs. And these ifdefs are ugly.So, just mark this 'sk' thing __maybe_unused and kill the ifdefs.
Signed-off-by: David S. Miller
-
Add a fragmentation check to myri10ge's LRO get_frag_header() callback.
Signed-off-by: Brice Goglin
Signed-off-by: Andrew Gallatin
Signed-off-by: David S. Miller -
It's 'sock' not 'sk'.
Signed-off-by: David S. Miller
-
drivers/net/hydra.c:163: error: 'hydra_netdev_ops' undeclared (first use in this function)
Signed-off-by: Alexey Dobriyan
Signed-off-by: David S. Miller
08 Dec, 2008
9 commits
-
This removes the use of the sysctl and the minisock variable for the Send Ack
Vector feature, as it now is handled fully dynamically via feature negotiation
(i.e. when CCID-2 is enabled, Ack Vectors are automatically enabled as per
RFC 4341, 4.).Using a sysctl in parallel to this implementation would open the door to
crashes, since much of the code relies on tests of the boolean minisock /
sysctl variable. Thus, this patch replaces all tests of typeif (dccp_msk(sk)->dccpms_send_ack_vector)
/* ... */
with
if (dp->dccps_hc_rx_ackvec != NULL)
/* ... */The dccps_hc_rx_ackvec is allocated by the dccp_hdlr_ackvec() when feature
negotiation concluded that Ack Vectors are to be used on the half-connection.
Otherwise, it is NULL (due to dccp_init_sock/dccp_create_openreq_child),
so that the test is a valid one.The activation handler for Ack Vectors is called as soon as the feature
negotiation has concluded at the
* server when the Ack marking the transition RESPOND => OPEN arrives;
* client after it has sent its ACK, marking the transition REQUEST => PARTOPEN.Adding the sequence number of the Response packet to the Ack Vector has been
removed, since
(a) connection establishment implies that the Response has been received;
(b) the CCIDs only look at packets received in the (PART)OPEN state, i.e.
this entry will always be ignored;
(c) it can not be used for anything useful - to detect loss for instance, only
packets received after the loss can serve as pseudo-dupacks.There was a FIXME to change the error code when dccp_ackvec_add() fails.
I removed this after finding out that:
* the check whether ackno < ISN is already made earlier,
* this Response is likely the 1st packet with an Ackno that the client gets,
* so when dccp_ackvec_add() fails, the reason is likely not a packet error.Signed-off-by: Gerrit Renker
Acked-by: Ian McDonald
Signed-off-by: David S. Miller -
Updating the NDP count feature is handled automatically now:
* for CCID-2 it is disabled, since the code does not use NDP counts;
* for CCID-3 it is enabled, as NDP counts are used to determine loss lengths.Allowing the user to change NDP values leads to unpredictable and failing
behaviour, since it is then possible to disable NDP counts even when they
are needed (e.g. in CCID-3).This means that only those user settings are sensible that agree with the
values for Send NDP Count implied by the choice of CCID. But those settings
are already activated by the feature negotiation (CCID dependency tracking),
hence this form of support is redundant.At startup the initialisation of the NDP count feature uses the default
value of 0, which is done implicitly by the zeroing-out of the socket when
it is allocated. If the choice of CCID or feature negotiation enables NDP
count, this will then be updated via the NDP activation handler.Signed-off-by: Gerrit Renker
Acked-by: Ian McDonald
Signed-off-by: David S. Miller -
The TX/RX CCIDs of the minisock are now redundant: similar to the Ack Vector
case, their value equals initially that of the sysctl, but at the end of
feature negotiation may be something different.The old interface removed by this patch thus has been replaced by the newer
interface to dynamically query the currently loaded CCIDs.Also removed are the constructors for the TX CCID and the RX CCID, since the
switch "rx non-rx" is done by the handler in minisocks.c (and the handler
is the only place in the code where CCIDs are loaded).Signed-off-by: Gerrit Renker
Acked-by: Ian McDonald
Signed-off-by: David S. Miller -
The code removed by this patch is no longer referenced or used, the added
lines update documentation and copyrights.Signed-off-by: Gerrit Renker
Acked-by: Ian McDonald
Signed-off-by: David S. Miller -
This integrates feature-activation in the client:
1. When dccp_parse_options() fails, the reset code is already set; request_sent\
_state_process() currently overrides this with `Packet Error', which is not
intended - changed to use the reset code supplied by dccp_parse_options().2. When feature negotiation fails, the socket should be marked as not usable,
so that the application is notified that an error occurred. This is achieved
by a new label 'unable_to_proceed': generating an error code of `Aborted',
setting the socket state to CLOSED, returning with ECOMM in sk_err.3. Avoids parsing the Ack twice in Respond state by not doing option processing
again in dccp_rcv_respond_partopen_state_process (as option processing has
already been done on the request_sock in dccp_check_req).Since this addresses congestion-control initialisation, a corresponding
FIXME has been removed.Signed-off-by: Gerrit Renker
Acked-by: Ian McDonald
Signed-off-by: David S. Miller -
This patch integrates the activation of features at the end of negotiation
into the server-side code.Note regarding the removal of 'const':
--------------------------------------
The 'const' attribute has been removed from 'dreq' since dccp_activate_values()
needs to operate on dreq's feature list. Part of the activation is to remove
those options from the list that have already been confirmed, hence it is not
purely read-only.Signed-off-by: Gerrit Renker
Acked-by: Ian McDonald
Signed-off-by: David S. Miller -
This first patch out of three replaces the hardcoded default settings with
initialisation code for the dynamic feature negotiation.The patch also ensures that the client feature-negotiation queue is flushed
only when entering the OPEN state.Since confirmed Change options are removed as soon as they are confirmed
(in the DCCP-Response), this ensures that Confirm options are retransmitted.Note on retransmitting Confirm options:
---------------------------------------
Implementation experience showed that it is necessary to retransmit Confirm
options. Thanks to Leandro Melo de Sales who reported a bug in an earlier
revision of the patch set, resulting from not retransmitting these options.As long as the client is in PARTOPEN, it needs to retransmit the Confirm
options for the Change options received on the DCCP-Response from the server.Otherwise, if the packet containing the Confirm options gets dropped in the
network, the connection aborts due to undefined feature negotiation state.Signed-off-by: Gerrit Renker
Acked-by: Ian McDonald
Signed-off-by: David S. Miller -
This is the last shoot of this series.
After I removing all directly reference of netdev->priv, I am killing
"priv" of "struct net_device" and fixing relative comments/docs.Anyone will not be allowed to reference netdev->priv directly.
If you want to reference the memory of private data, use netdev_priv()
instead.
If the private data is not allocted when alloc_netdev(), use
netdev->ml_priv to point that memory after you creating that private
data.Signed-off-by: Wang Chen
Signed-off-by: David S. Miller -
This driver is not yet finished.
At this time, we don't know how netdev be created and how
private data be allocated.
So, simply use netdev_priv() now and leave some temp comment.Compile test only.
Signed-off-by: Wang Chen
Signed-off-by: David S. Miller
07 Dec, 2008
5 commits
-
Simply replace netdev->priv with netdev_priv().
Signed-off-by: Wang Chen
Acked-by: Greg Kroah-Hartman
Signed-off-by: David S. Miller -
In this driver, netdev's private data is wlandevice_t. And the
wlandev(type of wlandevice_t) is exist before netdev be allocated. So
use netdev->ml_priv to point to the private data.I am not sure whether I should consider the kernel version older than
2.3.38. Because in those kernels, netdevice_t is "structure dev"
instead of "structure net_device" and of course "dev->ml_priv" will
cause compile error. But before my patch, in function wlan_setup(),
there is a ether_setup(net_device) which already broke kernels which
older than 2.3.38.Signed-off-by: Wang Chen
Acked-by: Greg Kroah-Hartman
Signed-off-by: David S. Miller -
The private data comes from ccwgroup_device.
So just don't allocate private data memory when do alloc_netdev()
and use netdev->ml_priv to reference private data.Signed-off-by: Wang Chen
Signed-off-by: David S. Miller -
Fix incorrect use of loose in spider_net.c
It should be 'lose', not 'loose'.
Signed-off-by: Nick Andrew
Signed-off-by: David S. Miller -
Fix incorrect use of loose in wext.c
It should be 'lose', not 'loose'.
Signed-off-by: Nick Andrew
Signed-off-by: David S. Miller
06 Dec, 2008
7 commits
-
Since jiffies is unsigned long, the types get expanded into
that and after long enough time the difference will therefore
always be > 1 (and that probably happens near boot as well as
iirc the first jiffies wrap is scheduler close after boot to
find out problems related to that early).This was originally noted by Bill Fink in Dec'07 but nobody
never ended fixing it.Signed-off-by: Ilpo Järvinen
Signed-off-by: David S. Miller -
tcp_minshall_update is not significant difference since it only
checks for not full-sized skb which is BUG'ed on the push_one
path anyway.tcp_snd_test is tcp_nagle_test+tcp_cwnd_test+tcp_snd_wnd_test,
just the order changed slightly.net/ipv4/tcp_output.c:
tcp_snd_test | -89
tcp_mss_split_point | -91
tcp_may_send_now | +53
tcp_cwnd_validate | -98
tso_fragment | -239
__tcp_push_pending_frames | -1340
tcp_push_one | -146
7 functions changed, 53 bytes added, 2003 bytes removed, diff: -1950net/ipv4/tcp_output.c:
tcp_write_xmit | +1772
1 function changed, 1772 bytes added, diff: +1772tcp_output.o.new:
8 functions changed, 1825 bytes added, 2003 bytes removed, diff: -178Signed-off-by: Ilpo Järvinen
Signed-off-by: David S. Miller -
Conflicts:
drivers/net/wireless/iwlwifi/iwl-core.c
drivers/net/wireless/iwlwifi/iwl-sta.c -
Signed-off-by: Ilpo Järvinen
Signed-off-by: David S. Miller -
Signed-off-by: Ilpo Järvinen
Signed-off-by: David S. Miller -
Both are called by the same sites.
Signed-off-by: Ilpo Järvinen
Signed-off-by: David S. Miller -
Signed-off-by: Ilpo Järvinen
Signed-off-by: David S. Miller