07 Oct, 2009
40 commits
-
Add a Kernel CAPI interface to the Gigaset driver.
Impact: optional new functionality
Signed-off-by: Tilman Schmidt
Signed-off-by: David S. Miller -
Add a dummy LL interface to the Gigaset driver so that it can be
built and, in a limited way, used without the ISDN4Linux subsystem.Impact: new configuration alternative
Signed-off-by: Tilman Schmidt
Signed-off-by: David S. Miller -
Reorganize the code of the Gigaset driver, moving all isdn4linux
dependencies to the source file i4l.c so that it can be replaced
by a file capi.c interfacing to Kernel CAPI instead.Impact: refactoring, no functional change
Signed-off-by: Tilman Schmidt
Signed-off-by: David S. Miller -
Add kerneldoc comments to some functions in the Gigaset driver.
Impact: documentation
Signed-off-by: Tilman Schmidt
Signed-off-by: David S. Miller -
Dump payload data consistently only when DEBUG_STREAM_DUMP debug bit
is set.Impact: debugging aid
Signed-off-by: Tilman Schmidt
Signed-off-by: David S. Miller -
When the Gigaset base stops responding, try resetting the USB
connection to recover.Impact: error handling improvement
Signed-off-by: Tilman Schmidt
Signed-off-by: David S. Miller -
Clear out pending command that got rejected with 'ERROR' response.
This fixes the bug where unloading the driver module would hang
with the message: "gigaset: not searching scheduled commands: busy"
after a device communication error.Impact: error handling bugfix
Signed-off-by: Tilman Schmidt
Signed-off-by: David S. Miller -
Mention in the driver load announcement whether the driver was built
with debugging messages enabled, to facilitate support.Impact: informational message
Signed-off-by: Tilman Schmidt
Signed-off-by: David S. Miller -
Don't drop the remainder of an URB if an isochronous frame has an error.
Impact: error handling improvement
Signed-off-by: Tilman Schmidt
Signed-off-by: David S. Miller -
The code of the Gigaset driver assumes that sk_buff-s coming
from the ISDN4Linux subsystem are always linear. Explicitly
calling skb_linearize() is cheap if they are, but much more
robust in case they ever aren't.Impact: robustness improvement
Signed-off-by: Tilman Schmidt
Signed-off-by: David S. Miller -
Signal D channel disconnect in a few cases where it was missed,
including when an incoming call is disconnected before it was
accepted.Impact: error handling improvement
Signed-off-by: Tilman Schmidt
Signed-off-by: David S. Miller -
Being able to change the debugmode module parameter of capidrv on the
fly is quite useful for debugging and doesn't do any harm.Signed-off-by: Tilman Schmidt
Signed-off-by: David S. Miller -
In several places, capidrv sends a CAPI message to the ISDN
device and then updates its internal state accordingly.
If the response message from the device arrives before the
state is updated, it may be rejected or processed incorrectly.
Avoid these races by updating the state before emitting the
message.Impact: bugfix
Signed-off-by: Tilman Schmidt
Acked-by: Karsten Keil
Signed-off-by: David S. Miller -
Info values in the 0x00xx range are defined in the CAPI standard
as "Informational, message processed successfully". Therefore a
CONNECT_B3_CONF message with an Info value in that range should
open an NCCI just as with Info==0.Impact: minor bugfix
Signed-off-by: Tilman Schmidt
Acked-by: Karsten Keil
Signed-off-by: David S. Miller -
- Note that send_message() may be called in interrupt context.
- Describe the storage of CAPI messages and payload data in SKBs.
- Add more details to the description of the _cmsg structure.
- Describe kernelcapi debugging output.Impact: documentation
Signed-off-by: Tilman Schmidt
Signed-off-by: David S. Miller -
This is a fix for a bug which was a result of wrong use of checksum offload flag.
The status of tx-checksumming was not changed from on to off
after a 'ethtool -K tx off' operation.
Use the proper checksum offload flag NETIF_F_HW_CSUM instead of
NETIF_F_IP_CSUM and NETIF_F_IPV6_CSUM.
Patch is against net-2.6 tree.Signed-off-by: Ajit Khaparde
Signed-off-by: David S. Miller -
MCC_STATUS_NOT_SUPPORTED should be decimal 66 not hex 66.
This patch fixes this typo. Patch against net-2.6 tree.Signed-off-by: Ajit Khaparde
Signed-off-by: David S. Miller -
While updating the statistics to be passed via the get_stats,
tx multicast frames were being accounted instead of rx multicast frames.
This patch fixes the bug. This patch is against the net-2.6 tree.Signed-off-by: Ajit Khaparde
Signed-off-by: David S. Miller -
Get rid of spinlock and private mutex usage for exclusive access to the
HW semaphore register. rtnl_lock already creates exclusive access to
this register in all driver API.
Add rtnl to firmware worker threads that also use the HW semaphore register.Signed-off-by: Ron Mercer
Signed-off-by: David S. Miller -
Check that we are not already polling firmware events before we queue the
firmware event worker, then disable firmware interrupts.
Otherwise we can queue the same event multiple times.Signed-off-by: Ron Mercer
Signed-off-by: David S. Miller -
Signed-off-by: Ron Mercer
Signed-off-by: David S. Miller -
An incoming datagram must bring into cpu cache *lot* of cache lines,
in particular : (other parts omitted (hash chains, ip route cache...))On 32bit arches :
offsetof(struct sock, sk_rcvbuf) =0x30 (read)
offsetof(struct sock, sk_lock) =0x34 (rw)offsetof(struct sock, sk_sleep) =0x50 (read)
offsetof(struct sock, sk_rmem_alloc) =0x64 (rw)
offsetof(struct sock, sk_receive_queue)=0x74 (rw)offsetof(struct sock, sk_forward_alloc)=0x98 (rw)
offsetof(struct sock, sk_callback_lock)=0xcc (rw)
offsetof(struct sock, sk_drops) =0xd8 (read if we add dropcount support, rw if frame dropped)
offsetof(struct sock, sk_filter) =0xf8 (read)offsetof(struct sock, sk_socket) =0x138 (read)
offsetof(struct sock, sk_data_ready) =0x15c (read)
We can avoid sk->sk_socket and socket->fasync_list referencing on sockets
with no fasync() structures. (socket->fasync_list ptr is probably already in cache
because it shares a cache line with socket->wait, ie location pointed by sk->sk_sleep)This avoids one cache line load per incoming packet for common cases (no fasync())
We can leave (or even move in a future patch) sk->sk_socket in a cold location
Signed-off-by: Eric Dumazet
Signed-off-by: David S. Miller -
- Version Update.
Signed-off-by: Sreenivasa Honnur
Signed-off-by: David S. Miller -
- Allow multiple functions with INTA.
- Removed the condition to allow only one vpath with INTA
- Ensure that the alarm bit in titan_mask_all_int register is cleared when
driver exits.Signed-off-by: Sreenivasa Honnur
Signed-off-by: David S. Miller -
- Added a function to check if FCS stripping is disabled by the firmware, if
it is not disabled fail driver load.- By default FCS stripping is disabled by the firmware. With this assumption
driver decrements the indicated packet length by 4 bytes(FCS length).- This patch ensures that FCS stripping is disabled during driver load time.
Signed-off-by: Sreenivasa Honnur
Signed-off-by: David S. Miller -
- Removed the wrr_rebalance function
- This feature is not supported by the ASIC, hence removing the related code.
Signed-off-by: Sreenivasa Honnur
Signed-off-by: David S. Miller -
- Fix a crash in PAE system due to wrong typecasting.
- On PAE system size_t is unsigned int which is 32bit. Avoid casting
64 bit address to 32 bitSigned-off-by: Sreenivasa Honnur
Signed-off-by: David S. Miller -
- Removed accessing GENDMA_INT register
- This allowed the firmware to perform a generic DMA write to host memory.
This feature is not supported by the ASIC, this patch removes access to
GENDMA_INT register.Signed-off-by: Sreenivasa Honnur
Signed-off-by: David S. Miller -
- Update driver_config->vpath_per_dev for each function in probe.
- vpath_per_device specifies number of vpaths supported for each function/device. The
current code was updating vpath_per_device only for physical device, however this has
to be updated for each function also in case of a MF(Multi function) device.Signed-off-by: Sreenivasa Honnur
Signed-off-by: David S. Miller -
…ivileged function: Resubmit#1
- vxge driver was assuming function-0 is always the privilaged function. Now that
restriction has been removed any function can act as a privilaged function.- This patch modifies the __vxge_hw_device_is_privilaged routine to not assume
function-0 as the privileged function.- Recreated the patch by incorporating review comments from Dave Miller to
remove double slash in path names.Signed-off-by: Sreenivasa Honnur <sreenivasa.honnur@neterion.com>
Signed-off-by: David S. Miller <davem@davemloft.net> -
There are some switches that will do write combining when they see two
sequential regions written. In order to avoid any possible write combining
issues it is necessary to add a flush after writing each piece of a rar
register.Signed-off-by: Alexander Duyck
Signed-off-by: Jeff Kirsher
Signed-off-by: David S. Miller -
This update adds additional exception handling to the phy code to handle
situations where it may be called incorrectly. In addition it adds some
bounds checking to the cable length checks to prevent an array overrun in
the event that the hardware returned a different value than expected.Signed-off-by: Alexander Duyck
Signed-off-by: Jeff Kirsher
Signed-off-by: David S. Miller -
This patch adds a retry to phy reads in the event of failure. The original
code broke out of the loop on failure and this is a mistake as we should be
trying to do the read twice.Signed-off-by: Alexander Duyck
Signed-off-by: Jeff Kirsher
Signed-off-by: David S. Miller -
This patch moves the generic portion of the copper link setup into a
seperate function in e1000_phy.c. This helps to reduce the size of
copper_link_setup_82575 and make it a bit more readable.Signed-off-by: Alexander Duyck
Signed-off-by: Jeff Kirsher
Signed-off-by: David S. Miller -
igb doesn't have any devices that use a microwire interface for NVM. As
such the code related to this can be removed.Signed-off-by: Alexander Duyck
Signed-off-by: Jeff Kirsher
Signed-off-by: David S. Miller -
This patch allows us to treat the alternate mac address as though it is the
physical address on the adapter. This is accomplished by letting the
alt_mac_address function to only fail on an NVM error. If no errors occur
and the alternate mac address is not present then RAR0 is read as the
default mac address.Signed-off-by: Alexander Duyck
Signed-off-by: Jeff Kirsher
Signed-off-by: David S. Miller -
The mailbox timeout routines need to be updated as they were not correctly
handling the case of a mailbox timeout and could cause issues with long
delays when used.Signed-off-by: Alexander Duyck
Signed-off-by: Jeff Kirsher
Signed-off-by: David S. Miller -
Both the read and write mailbox functions need to acquire the mailbox lock.
Since that is the case we might as well combine both of the procedures into
one function so it is easier to maintain.Signed-off-by: Alexander Duyck
Signed-off-by: Jeff Kirsher
Signed-off-by: David S. Miller -
This patch adds the device ID necessary to support the 82576NS SerDes
adapter.Signed-off-by: Alexander Duyck
Signed-off-by: Jeff Kirsher
Signed-off-by: David S. Miller