21 Feb, 2015
1 commit
-
The cfpkt_iterate() function can return -EPROTO on error, but the
function is a u16 so the negative value gets truncated to a positive
unsigned short. This causes a static checker warning.The only caller which might care is cffrml_receive(), when it's checking
the frame checksum. I modified cffrml_receive() so that it never says
-EPROTO is a valid checksum.Also this isn't ever going to be inlined so I removed the "inline".
Signed-off-by: Dan Carpenter
Signed-off-by: David S. Miller
24 Sep, 2013
1 commit
-
There are a mix of function prototypes with and without extern
in the kernel sources. Standardize on not using extern for
function prototypes.Function prototypes don't need to be written with extern.
extern is assumed by the compiler. Its use is as unnecessary as
using auto to declare automatic/local variables in a block.Signed-off-by: Joe Perches
Signed-off-by: David S. Miller
24 Apr, 2013
1 commit
-
Remove my soon bouncing email address.
Also remove the "Contact:" line in file header.
The MAINTAINERS file is a better place to find the
contact person anyway.Signed-off-by: Sjur Brændeland
Signed-off-by: David S. Miller
18 Mar, 2013
1 commit
-
caif_shm is an old implementation
caif_shm will be replaced by caif_virtio[ As explained by Linus Walleij: "U5500 used this, but was cancelled
and the silicon did not reach anyone outside ST-Ericsson. Then for
the next platforms, we have gone for the leaner & cleaner approach
of using virtio, rpmesg and rproc." ]Signed-off-by: Erwan Yvin
Acked-by: Linus Walleij
Acked-by: Sjur Brendeland
Signed-off-by: David S. Miller
26 Jun, 2012
3 commits
-
Remove use of module parameters on caif hsi device, as
rtnl configuration parameters are already supported.All caif hsi configuration data is put in cfhsi_config,
and default values in hsi_default_config.Signed-off-by: Sjur Brændeland
Signed-off-by: David S. Miller -
Remove use of struct platform_device, and replace it with
struct cfhsi_ops. Updated variable names in the same
spirit:
cfhsi_get_dev to cfhsi_get_ops,
cfhsi->dev to cfhsi->ops and,
cfhsi->dev.drv to cfhsi->ops->cb_ops.Signed-off-by: Sjur Brændeland
Signed-off-by: David S. Miller -
Add RTNL support for managing the caif hsi interface.
The HSI HW interface is no longer registering as a device,
instead we use symbol_get to get hold of the HSI API.Signed-off-by: Sjur Brændeland
Signed-off-by: David S. Miller
13 Apr, 2012
2 commits
-
Implement aggregation algorithm, combining more data into a single
HSI transfer. 4 different traffic categories are supported:
1. TC_PRIO_CONTROL .. TC_PRIO_MAX (CTL)
2. TC_PRIO_INTERACTIVE (VO)
3. TC_PRIO_INTERACTIVE_BULK (VI)
4. TC_PRIO_BESTEFFORT, TC_PRIO_BULK, TC_PRIO_FILLER (BEBK)Signed-off-by: Dmitry Tarnyagin
Signed-off-by: David S. Miller -
Set traffic class for CAIF packets, based on socket
priority, CAIF protocol type, or type of message.Traffic class mapping for different packet types:
- control: TC_PRIO_CONTROL;
- flow control: TC_PRIO_CONTROL;
- at: TC_PRIO_CONTROL;
- rfm: TC_PRIO_INTERACTIVE_BULK;
- other sockets: equals to socket's TC;
- network data: no change.Signed-off-by: Dmitry Tarnyagin
Signed-off-by: David S. Miller
05 Feb, 2012
1 commit
-
Implement RX flip buffer in the cfhsi_rx_done function,
piggy-backed frames is also supported.
This gives a significant performance gain for CAIF over HSI.Signed-off-by: Sjur Brændeland
Signed-off-by: David S. Miller
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
1 commit
-
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