10 Mar, 2009
24 commits
-
Protocols that use packet_type can be __read_mostly section for better
locality. Elminate any unnecessary initializations of NULL.Signed-off-by: Stephen Hemminger
Signed-off-by: David S. Miller -
A number of functions in the usb_gigaset module will return -EINVAL if
CONFIG_GIGASET_UNDOCREQ is not set. Make these return -ENOTTY as it's
more specific and it might make it easier to see (from userspace) why
these functions actually fail.Impact: some error return codes changed
Signed-off-by: Paul Bolle
Signed-off-by: Tilman Schmidt
Signed-off-by: David S. Miller -
Streamline dependencies and remove some obsolete or redundant comments
in the Gigaset ISDN driver's Kconfig file. In particular, remove the
strong warning against the GIGASET_UNDOCREQ option, as in seven years
of existence, the code in question has never been reported to cause
any harm.Impact: Kconfig cleanup, no functional change
Signed-off-by: Tilman Schmidt
Signed-off-by: David S. Miller -
Remove huge board config structure from each instance, read
only necessary fields from flash.Replace board_type with port_type (1G/10G), there's another
board_type field describing card type (SFP/XFP/CX4).Signed-off-by: Dhananjay Phadke
Signed-off-by: David S. Miller -
MAX_RCV_CTX was set to 1, there's only rx context per
PCI function.Signed-off-by: Dhananjay Phadke
Signed-off-by: David S. Miller -
rearrange open and close into hardware attach(), detach() and
nic up() and down(). this will be used for suspend/resume
subsequently.Signed-off-by: Dhananjay Phadke
Signed-off-by: David S. Miller -
Signed-off-by: Dhananjay Phadke
Signed-off-by: David S. Miller -
o remove unused rx fragment handling code.
o imporove check for status descriptor ownership.Signed-off-by: Dhananjay Phadke
Signed-off-by: David S. Miller -
Conflicts:
drivers/net/bnx2x_main.c
drivers/net/wireless/iwlwifi/iwl3945-base.c
drivers/net/wireless/rt2x00/rt73usb.c -
There was a bug, which occasionally caused failure in PRAM initialization after
the cold boot.
Also incremented version number to 1.45.27.Signed-off-by: Vladislav Zolotarov
Signed-off-by: Eilon Greenstein
Signed-off-by: David S. Miller -
Adding a proper cast to the argument of PAGE_ALIGN macro so that the output
won't depend on its original type. Without this cast aligned value will be
truncated to the size of the argument type.Reported-by: Bjorn Helgaas
Signed-off-by: Vladislav Zolotarov
Tested-by: Bjorn Helgaas
Signed-off-by: Eilon Greenstein
Signed-off-by: David S. Miller -
sge_buff_size may not be more than 0xffff.
Reported-by: Bjorn Helgaas
Signed-off-by: Vladislav Zolotarov
Tested-by: Bjorn Helgaas
Signed-off-by: Eilon Greenstein
Signed-off-by: David S. Miller -
This was introduced in an earlier net-next patch.
Signed-off-by: Ron Mercer
Signed-off-by: David S. Miller -
With some asic configurations xmit of frames smaller than 60 bytes may
fail.Signed-off-by: Ron Mercer
Signed-off-by: David S. Miller -
Moving netif_napi_del() up the call chain so it will get called from all
exit points.Signed-off-by: Ron Mercer
Signed-off-by: David S. Miller -
There is nothing to contend with it.
Signed-off-by: Ron Mercer
Signed-off-by: David S. Miller -
Signed-off-by: Ron Mercer
Signed-off-by: David S. Miller -
The completion interrupt disable routine is only called from the ISR, so
there is no need for irqsave/restore.Signed-off-by: Ron Mercer
Signed-off-by: David S. Miller -
Signed-off-by: Ron Mercer
Signed-off-by: David S. Miller -
Signed-off-by: Ron Mercer
Signed-off-by: David S. Miller -
Signed-off-by: Ron Mercer
Signed-off-by: David S. Miller -
Chip does not do UDP checksum when fragmentation occurs.
Signed-off-by: Ron Mercer
Signed-off-by: David S. Miller -
Signed-off-by: Ron Mercer
Signed-off-by: David S. Miller -
Get rid of extraneous ql_cycle_adapter. It's only called from the one
place.Signed-off-by: Ron Mercer
Signed-off-by: David S. Miller
07 Mar, 2009
2 commits
-
This patch fixes a number of race conditions in the driver.
Up until now, "entry" pointer was initialized before acquiring the right lock.Signed-off-by: Christian Lamparter
Signed-off-by: John W. Linville -
freq_diff is unsigned, so test before subtraction
Signed-off-by: Roel Kluin
Signed-off-by: John W. Linville
06 Mar, 2009
14 commits
-
This fixes compilation, if the PCI core is disabled.
Signed-off-by: Michael Buesch
Signed-off-by: John W. Linville -
debugfs ath9k/phy#/wiphy can be used to show the current list of
virtual wiphys and to add/remove virtual wiphys. Eventually, this
interface could be replaced with a cfg80211/nl80211 command that is
passed through mac80211.For example:
# cat /debug/ath9k/phy0/wiphy
primary: phy0
# echo add > /debug/ath9k/phy0/wiphy
# cat /debug/ath9k/phy0/wiphy
primary: phy0
secondary: phy1
# echo del=phy1 > /debug/ath9k/phy0/wiphy
# cat /debug/ath9k/phy0/wiphy
primary: phy0In addition, following commands can be used to test pausing and
unpausing of the virtual wiphys:
pause=phy1
unpause=phy1
select=phy1
(select pauses and unpauses wiphys automatically based on channel)
schedule=500
(set wiphy scheduling interval in msec; 0 = disable; default value: 500)Signed-off-by: Jouni Malinen
Signed-off-by: John W. Linville -
This is a very simple scheduler that goes through the wiphys and
schedules one at a time every N milliseconds (current default value:
500 ms). This is enough for initial testing, but there are number of
areas where a more complex scheduler can improve operations greatly.Signed-off-by: Jouni Malinen
Signed-off-by: John W. Linville -
Allow mac80211-controlled channel changes on an active wiphy and
especially during a scan. We need this as long as the scan is
controlled by mac80211. Moving this control into the driver could
allow some optimizations on scanning while using multiple virtual
interfaces, but for now, try to work as well as possible with the
current scan mechanism.Signed-off-by: Jouni Malinen
Signed-off-by: John W. Linville -
It looks like channel change may fail in some cases and end up leaving
the hardware in state where it cannot transmit any frames. Add a
workaround to recover from this state if we detect that wiphy
selection is failing due to wiphys not leaving PAUSING state.Signed-off-by: Jouni Malinen
Signed-off-by: John W. Linville -
mac80211 should not be requesting us to transmit frames on paused
wiphys since we stop the TX queues. Just in case, add debug code to
make sure we catch if this were to happen.Signed-off-by: Jouni Malinen
Signed-off-by: John W. Linville -
For now, allow channel changes immediately and just force the other
virtual wiphys to paused state. This is needed to allow
mac80211-controlled scan to control channel changes.Signed-off-by: Jouni Malinen
Signed-off-by: John W. Linville -
Notify the AP that we may be sleeping longer to allow the AP power
save code to buffer larger number of frames for us when using virtual
wiphys.Signed-off-by: Jouni Malinen
Signed-off-by: John W. Linville -
Instead of always going through initialization/deinitialization steps,
do this only for the first/last wiphy to not break the other wiphys.Signed-off-by: Jouni Malinen
Signed-off-by: John W. Linville -
ath9k_wiphy_select() can be used to select a virtual wiphy to be
activated. Other virtual wiphys will be paused and once that is done,
the operational channel is changed and the wiphys that are on the
selected channel will be unpaused.Signed-off-by: Jouni Malinen
Signed-off-by: John W. Linville -
Allow virtual wiphys to be paused/unpaused to allow off-channel
operations. Pause will stop all TX queues for the wiphy and move the
STA into power save mode if in managed mode. Unpause wakes up the TX
queues and notifies the AP that the STA woke up if in managed mode.Signed-off-by: Jouni Malinen
Signed-off-by: John W. Linville -
Allow RX filter to pass through all broadcast/multicast frames (i.e.,
no BSSID filtering) if virtual interfaces are used. Software filtering
will be used in this case to drop broadcast/multicast frames for
foreign BSSIDs.Signed-off-by: Jouni Malinen
Signed-off-by: John W. Linville -
The new struct ath_softc::sec_wiphy array is used to store information
about virtual wiphys and select which wiphy is used in calls to
mac80211. Each virtual wiphy will be assigned a different MAC address
based on the virtual wiphy index.Signed-off-by: Jouni Malinen
Signed-off-by: John W. Linville -
This is the initial step in allowing ath9k to register multiple
virtual radios (wiphys). The goal of virtual radios is to allow the
same radio to be shared for multiple virtual interfaces that may
operate on different channels. The mac80211 virtual interface support
is designed only for single channel operation and as such, it is not
suitable for this type of use. Anyway, it can be used on top of the
virtual radio concept, if desired (e.g., use two virtual radios to
handle two channels and then add multiple mac80211 virtual interfaces
on top of each virtual radio).The new struct ath_wiphy is now registered as the driver data
structure for wiphy. This structure has a pointer to the shared (among
virtual wiphys of the same physical radio) struct ath_softc data. The
primary wiphy maintains the allocated memory for ath_softc. Secondary
(virtual) wiphys will only allocate the new ath_wiphy structure.Registration of secondary wiphys is added in a separate patch.
Signed-off-by: Jouni Malinen
Signed-off-by: John W. Linville