07 Dec, 2011
1 commit
-
Fix dump upon device removal, by moving deinitialization from
platform-device-remove to network-interface-uninit.Signed-off-by: Sjur Brændeland
Signed-off-by: David S. Miller
01 Dec, 2011
3 commits
-
Signed-off-by: Sjur Brændeland
Signed-off-by: David S. Miller -
Remove unused enum cfcnfg_phy_type and the parameter to cfserl_create.
Signed-off-by: Sjur Brændeland
Signed-off-by: David S. Miller -
Enrolling CAIF link layers are refactored.
Signed-off-by: Sjur Brændeland
Signed-off-by: David S. Miller
19 Oct, 2011
4 commits
-
Added recovery check of CA wake status in case of wake up timeout.
Added check of CA wake status in case of wake down timeout.Signed-off-by: Sjur Brændeland
Signed-off-by: David S. Miller -
Added sanity check for length of CAIF frames, and tear down of
CAIF link-layer device upon protocol error.Signed-off-by: Sjur Brændeland
Signed-off-by: David S. Miller -
CAIF HSI uses a timer for inactivity. Upon timeout HSI-wake signaling
is initiated to allow power-down of the HSI block.Signed-off-by: Sjur Brændeland
Signed-off-by: David S. Miller -
Some platforms do not allow to put HSI block into low-power
mode when FIFO is not empty. The patch flushes (by reading)
FIFO at wake down sequence. Asynchronous read and write is
implemented for that. As a side effect this will also greatly
improve performance.Signed-off-by: Sjur Brændeland
Signed-off-by: David S. Miller
02 Jun, 2011
1 commit
-
This patch introduces the CAIF HSI Protocol Driver for the
CAIF Link Layer.This driver implements a platform driver to accommodate for a
platform specific HSI devices. A general platform driver is not
possible as there are no HSI side Kernel API defined.Signed-off-by: Sjur Brændeland
Signed-off-by: David S. Miller
23 May, 2011
1 commit
-
Trivial patch updating documentation in header files only.
Error handling of CAIF transmit errors was changed by commit:
caif: Don't resend if dev_queue_xmit fails.
This patch updates the documentation accordingly.Signed-off-by: Sjur Brændeland
Signed-off-by: David S. Miller
16 May, 2011
8 commits
-
Signed-off-by: Sjur Brændeland
Signed-off-by: David S. Miller -
Do proper handling of dev_queue_xmit errors in order to
avoid double free of skb and leaks in error conditions.
In cfctrl pending requests are removed when CAIF Link layer goes down.Signed-off-by: Sjur Brændeland
Signed-off-by: David S. Miller -
Use struct net to reference CAIF configuration object instead of static variables.
Refactor functions caif_connect_client, caif_disconnect_client and squach
files cfcnfg.c and caif_config_utils.Signed-off-by: Sjur Brændeland
Signed-off-by: David S. Miller -
CAIF Socket Layer and ip-interface registers reference counters
in CAIF service layer. The functions sock_hold, sock_put and
dev_hold, dev_put are used by CAIF Stack to protect from freeing
memory while packets are in-flight.Signed-off-by: Sjur Brændeland
Signed-off-by: David S. Miller -
Instead of having reference counts in caif service layers,
we hook into existing refcount handling in socket layer and netdevice.Signed-off-by: Sjur Brændeland
Signed-off-by: David S. Miller -
Introduce Per-cpu reference for lower part of CAIF Stack.
Before freeing payload is disabled, synchronize_rcu() is called,
and then ref-count verified to be zero.Signed-off-by: Sjur Brændeland
Signed-off-by: David S. Miller -
RCU read_lock and refcount is used to protect in-flight packets.
Use RCU and counters to manage freeing lower part of the CAIF stack if
CAIF-link layer is removed. Old solution based on delaying removal of
device is removed.When CAIF link layer goes down the use of CAIF link layer is disabled
(by calling caif_set_phy_state()), but removal and freeing of the
lower part of the CAIF stack is done when Link layer is unregistered.Signed-off-by: Sjur Brændeland
Signed-off-by: David S. Miller -
Replace spin_lock with rcu_read_lock when accessing lists to layers
and cache. While packets are in flight rcu_read_lock should not be held,
instead ref-counters are used in combination with RCU.Signed-off-by: Sjur Brændeland
Signed-off-by: David S. Miller
12 Apr, 2011
1 commit
-
Cleanup of new CAIF code.
* make local functions static
* remove code that is never used
* expand get_caif_conf() since wrapper is no longer needed
* make args to comparison functions const
* rename connect_req_to_link_param to keep exported names
consistentCompile tested only.
Signed-off-by: Stephen Hemminger
Acked-by: Sjur Brændeland
Signed-off-by: David S. Miller
31 Mar, 2011
1 commit
-
Fixes generated by 'codespell' and manually reviewed.
Signed-off-by: Lucas De Marchi
16 Nov, 2010
1 commit
-
Signed-off-by: Joe Perches
Acked-by: Sjur Braendeland
Signed-off-by: David S. Miller
04 Nov, 2010
2 commits
-
Signed-off-by: Sjur Braendeland
Signed-off-by: David S. Miller -
Changes:
o Bugfix: SO_PRIORITY for SOL_SOCKET could not be handled
in caif's setsockopt, using the struct sock attribute priority instead.o Bugfix: SO_BINDTODEVICE for SOL_SOCKET could not be handled
in caif's setsockopt, using the struct sock attribute ifindex instead.o Wrong assert statement for RFM layer segmentation.
o CAIF Debug channels was not working over SPI, caif_payload_info
containing padding info must be initialized.o Check on pointer before dereferencing when unregister dev in caif_dev.c
Signed-off-by: Sjur Braendeland
Signed-off-by: David S. Miller
28 Oct, 2010
1 commit
-
Signed-off-by: Sjur Braendeland
Signed-off-by: David S. Miller
29 Jun, 2010
1 commit
-
This patch introduces the CAIF SPI Protocol Driver for
CAIF Link Layer.This driver implements a platform driver to accommodate for a
platform specific SPI device. A general platform driver is not
possible as there are no SPI Slave side Kernel API defined.
A sample CAIF SPI Platform device can be found in
.../Documentation/networking/caif/spi_porting.txtSigned-off-by: Sjur Braendeland
Signed-off-by: David S. Miller
21 Jun, 2010
3 commits
-
Previously CAIF supported maximum transfer size of ~4050.
The transfer size is now calculated dynamically based on the
link layers mtu size.Signed-off-by: Sjur Braendeland@stericsson.com
Signed-off-by: David S. Miller -
CAIF Remote File Manager may send or receive more than 4050 bytes.
Due to this The CAIF RFM service have to support segmentation.Signed-off-by: Sjur Braendeland@stericsson.com
Signed-off-by: David S. Miller -
Flow control is not used by all CAIF services.
The usage of flow control is now part of the gerneal
initialization function for CAIF Services.Signed-off-by: Sjur Braendeland@stericsson.com
Signed-off-by: David S. Miller
24 May, 2010
1 commit
-
Discovered bug when running high number of parallel connect requests.
Replace buggy home brewed list with linux/list.h.Signed-off-by: Sjur Braendeland
Signed-off-by: David S. Miller
29 Apr, 2010
3 commits
-
Changes:
o Function cfcnfg_disconn_adapt_layer is changed to do asynchronous
disconnect, not waiting for any response from the modem. Due to this
the function cfcnfg_linkdestroy_rsp does nothing anymore.
o Because disconnect may take down a connection before a connect response
is received the function cfcnfg_linkup_rsp is checking if the client is
still waiting for the response, if not a disconnect request is sent to
the modem.
o cfctrl is no longer keeping track of pending disconnect requests.
o Added function cfctrl_cancel_req, which is used for deleting a pending
connect request if disconnect is done before connect response is received.
o Removed unused function cfctrl_insert_req2
o Added better handling of connect reject from modem.Signed-off-by: Sjur Braendeland
Signed-off-by: David S. Miller -
Changes:
o Added functions cfsrvl_get and cfsrvl_put.
o Added support release_client to use by socket and net device.
o Increase reference counting for in-flight packets from cfmuxlSigned-off-by: Sjur Braendeland
Signed-off-by: David S. Miller -
Changes:
o Renamed cfcnfg_del_adapt_layer to cfcnfg_disconn_adapt_layer
o Fixed typo cfcfg to cfcnfg
o Renamed linkid to channel_id
o Updated documentation in caif_dev.h
o Minor formatting changesSigned-off-by: Sjur Braendeland
Signed-off-by: David S. Miller
31 Mar, 2010
2 commits
-
Header files for CAIF Link layer net-device,
and link-layer registration.Signed-off-by: Sjur Braendeland
Signed-off-by: David S. Miller -
Add include files for the CAIF Core protocol stack.
caif_layer.h - Defines the structure of the CAIF protocol layers
cfcnfg.h - CAIF Configuration Module for services and link layers
cfctrl.h - CAIF Control Protocol Layer
cffrml.h - CAIF Framing Layer
cfmuxl.h - CAIF Muxing Layer
cfpkt.h - CAIF Packet layer (skb helper functions)
cfserl.h - CAIF Serial Layer
cfsrvl.h - CAIF Service LayerSigned-off-by: Sjur Braendeland
Signed-off-by: David S. Miller