diff options
author | Sjur Braendeland <sjur.brandeland@stericsson.com> | 2010-06-17 02:55:39 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2010-06-20 22:46:05 -0400 |
commit | a7da1f55a826c621251874e7684c234972fc3216 (patch) | |
tree | e5c66620b9cfe00ed62233665002a0acf5fc1004 /net/caif/cfsrvl.c | |
parent | b1c74247b9e29ae3bfdf133862328c309bc9cf14 (diff) |
caif: Bugfix - RFM must support segmentation.
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 <davem@davemloft.net>
Diffstat (limited to 'net/caif/cfsrvl.c')
-rw-r--r-- | net/caif/cfsrvl.c | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/net/caif/cfsrvl.c b/net/caif/cfsrvl.c index 7aa1f03a0151..4c9f147c38af 100644 --- a/net/caif/cfsrvl.c +++ b/net/caif/cfsrvl.c | |||
@@ -159,6 +159,13 @@ void cfservl_destroy(struct cflayer *layer) | |||
159 | kfree(layer); | 159 | kfree(layer); |
160 | } | 160 | } |
161 | 161 | ||
162 | void cfsrvl_release(struct kref *kref) | ||
163 | { | ||
164 | struct cfsrvl *service = container_of(kref, struct cfsrvl, ref); | ||
165 | pr_info("CAIF: %s(): enter\n", __func__); | ||
166 | kfree(service); | ||
167 | } | ||
168 | |||
162 | void cfsrvl_init(struct cfsrvl *service, | 169 | void cfsrvl_init(struct cfsrvl *service, |
163 | u8 channel_id, | 170 | u8 channel_id, |
164 | struct dev_info *dev_info, | 171 | struct dev_info *dev_info, |
@@ -174,14 +181,10 @@ void cfsrvl_init(struct cfsrvl *service, | |||
174 | service->layer.modemcmd = cfservl_modemcmd; | 181 | service->layer.modemcmd = cfservl_modemcmd; |
175 | service->dev_info = *dev_info; | 182 | service->dev_info = *dev_info; |
176 | service->supports_flowctrl = supports_flowctrl; | 183 | service->supports_flowctrl = supports_flowctrl; |
184 | service->release = cfsrvl_release; | ||
177 | kref_init(&service->ref); | 185 | kref_init(&service->ref); |
178 | } | 186 | } |
179 | 187 | ||
180 | void cfsrvl_release(struct kref *kref) | ||
181 | { | ||
182 | struct cfsrvl *service = container_of(kref, struct cfsrvl, ref); | ||
183 | kfree(service); | ||
184 | } | ||
185 | 188 | ||
186 | bool cfsrvl_ready(struct cfsrvl *service, int *err) | 189 | bool cfsrvl_ready(struct cfsrvl *service, int *err) |
187 | { | 190 | { |