caif: Use RCU instead of spin-lock in caif_dev.c
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 <sjur.brandeland@stericsson.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:

committed by
David S. Miller

parent
0b1e9738de
commit
bd30ce4bc0
@@ -145,4 +145,14 @@ struct dev_info *cfcnfg_get_phyid(struct cfcnfg *cnfg,
|
||||
* @ifi: ifindex obtained from socket.c bindtodevice.
|
||||
*/
|
||||
int cfcnfg_get_id_from_ifi(struct cfcnfg *cnfg, int ifi);
|
||||
|
||||
/**
|
||||
* cfcnfg_set_phy_state() - Set the state of the physical interface device.
|
||||
* @cnfg: Configuration object
|
||||
* @phy_layer: Physical Layer representation
|
||||
* @up: State of device
|
||||
*/
|
||||
int cfcnfg_set_phy_state(struct cfcnfg *cnfg, struct cflayer *phy_layer,
|
||||
bool up);
|
||||
|
||||
#endif /* CFCNFG_H_ */
|
||||
|
Reference in New Issue
Block a user