aboutsummaryrefslogtreecommitdiffstats
path: root/net/caif/cfrfml.c
diff options
context:
space:
mode:
authorSjur Braendeland <sjur.brandeland@stericsson.com>2010-06-17 02:55:38 -0400
committerDavid S. Miller <davem@davemloft.net>2010-06-20 22:46:05 -0400
commitb1c74247b9e29ae3bfdf133862328c309bc9cf14 (patch)
treea20cd55d47036a22e3857d382ed505436a366efe /net/caif/cfrfml.c
parentc14c643b3d91cc741425c058968672228c310927 (diff)
caif: Bugfix not all services uses flow-ctrl.
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 <davem@davemloft.net>
Diffstat (limited to 'net/caif/cfrfml.c')
-rw-r--r--net/caif/cfrfml.c12
1 files changed, 4 insertions, 8 deletions
diff --git a/net/caif/cfrfml.c b/net/caif/cfrfml.c
index fd27b172fb5d..689cbfd0e43d 100644
--- a/net/caif/cfrfml.c
+++ b/net/caif/cfrfml.c
@@ -23,30 +23,26 @@
23 23
24static int cfrfml_receive(struct cflayer *layr, struct cfpkt *pkt); 24static int cfrfml_receive(struct cflayer *layr, struct cfpkt *pkt);
25static int cfrfml_transmit(struct cflayer *layr, struct cfpkt *pkt); 25static int cfrfml_transmit(struct cflayer *layr, struct cfpkt *pkt);
26static int cfservl_modemcmd(struct cflayer *layr, enum caif_modemcmd ctrl);
27 26
28struct cflayer *cfrfml_create(u8 channel_id, struct dev_info *dev_info) 27struct cflayer *cfrfml_create(u8 channel_id, struct dev_info *dev_info)
29{ 28{
30 struct cfsrvl *rfm = kmalloc(sizeof(struct cfsrvl), GFP_ATOMIC); 29 struct cfsrvl *rfm = kmalloc(sizeof(struct cfsrvl), GFP_ATOMIC);
30
31 if (!rfm) { 31 if (!rfm) {
32 pr_warning("CAIF: %s(): Out of memory\n", __func__); 32 pr_warning("CAIF: %s(): Out of memory\n", __func__);
33 return NULL; 33 return NULL;
34 } 34 }
35
35 caif_assert(offsetof(struct cfsrvl, layer) == 0); 36 caif_assert(offsetof(struct cfsrvl, layer) == 0);
37
36 memset(rfm, 0, sizeof(struct cfsrvl)); 38 memset(rfm, 0, sizeof(struct cfsrvl));
37 cfsrvl_init(rfm, channel_id, dev_info); 39 cfsrvl_init(rfm, channel_id, dev_info, false);
38 rfm->layer.modemcmd = cfservl_modemcmd;
39 rfm->layer.receive = cfrfml_receive; 40 rfm->layer.receive = cfrfml_receive;
40 rfm->layer.transmit = cfrfml_transmit; 41 rfm->layer.transmit = cfrfml_transmit;
41 snprintf(rfm->layer.name, CAIF_LAYER_NAME_SZ, "rfm%d", channel_id); 42 snprintf(rfm->layer.name, CAIF_LAYER_NAME_SZ, "rfm%d", channel_id);
42 return &rfm->layer; 43 return &rfm->layer;
43} 44}
44 45
45static int cfservl_modemcmd(struct cflayer *layr, enum caif_modemcmd ctrl)
46{
47 return -EPROTO;
48}
49
50static int cfrfml_receive(struct cflayer *layr, struct cfpkt *pkt) 46static int cfrfml_receive(struct cflayer *layr, struct cfpkt *pkt)
51{ 47{
52 u8 tmp; 48 u8 tmp;