diff options
| author | Andrei Emeltchenko <andrei.emeltchenko@intel.com> | 2011-12-07 08:56:52 -0500 |
|---|---|---|
| committer | Gustavo F. Padovan <padovan@profusion.mobi> | 2011-12-18 18:35:26 -0500 |
| commit | f42809185896296d5662778e4ec63e084cfa5f2b (patch) | |
| tree | 0766db127d949f723df0c64894d2c71eea5cae0d | |
| parent | 350ee4cfc0ea620bd1126ad4daa295586d6aa3a9 (diff) | |
Bluetooth: Simplify num_comp_pkts_evt function
Simplify function and remove fourth level of indentation.
Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
Acked-by: Marcel Holtmann <marcel@holtmann.org>
Signed-off-by: Gustavo F. Padovan <padovan@profusion.mobi>
| -rw-r--r-- | net/bluetooth/hci_event.c | 47 |
1 files changed, 29 insertions, 18 deletions
diff --git a/net/bluetooth/hci_event.c b/net/bluetooth/hci_event.c index 48796832fdf0..fc5338fc2a6e 100644 --- a/net/bluetooth/hci_event.c +++ b/net/bluetooth/hci_event.c | |||
| @@ -2273,28 +2273,39 @@ static inline void hci_num_comp_pkts_evt(struct hci_dev *hdev, struct sk_buff *s | |||
| 2273 | count = get_unaligned_le16(ptr++); | 2273 | count = get_unaligned_le16(ptr++); |
| 2274 | 2274 | ||
| 2275 | conn = hci_conn_hash_lookup_handle(hdev, handle); | 2275 | conn = hci_conn_hash_lookup_handle(hdev, handle); |
| 2276 | if (conn) { | 2276 | if (!conn) |
| 2277 | conn->sent -= count; | 2277 | continue; |
| 2278 | 2278 | ||
| 2279 | if (conn->type == ACL_LINK) { | 2279 | conn->sent -= count; |
| 2280 | |||
| 2281 | switch (conn->type) { | ||
| 2282 | case ACL_LINK: | ||
| 2283 | hdev->acl_cnt += count; | ||
| 2284 | if (hdev->acl_cnt > hdev->acl_pkts) | ||
| 2285 | hdev->acl_cnt = hdev->acl_pkts; | ||
| 2286 | break; | ||
| 2287 | |||
| 2288 | case LE_LINK: | ||
| 2289 | if (hdev->le_pkts) { | ||
| 2290 | hdev->le_cnt += count; | ||
| 2291 | if (hdev->le_cnt > hdev->le_pkts) | ||
| 2292 | hdev->le_cnt = hdev->le_pkts; | ||
| 2293 | } else { | ||
| 2280 | hdev->acl_cnt += count; | 2294 | hdev->acl_cnt += count; |
| 2281 | if (hdev->acl_cnt > hdev->acl_pkts) | 2295 | if (hdev->acl_cnt > hdev->acl_pkts) |
| 2282 | hdev->acl_cnt = hdev->acl_pkts; | 2296 | hdev->acl_cnt = hdev->acl_pkts; |
| 2283 | } else if (conn->type == LE_LINK) { | ||
| 2284 | if (hdev->le_pkts) { | ||
| 2285 | hdev->le_cnt += count; | ||
| 2286 | if (hdev->le_cnt > hdev->le_pkts) | ||
| 2287 | hdev->le_cnt = hdev->le_pkts; | ||
| 2288 | } else { | ||
| 2289 | hdev->acl_cnt += count; | ||
| 2290 | if (hdev->acl_cnt > hdev->acl_pkts) | ||
| 2291 | hdev->acl_cnt = hdev->acl_pkts; | ||
| 2292 | } | ||
| 2293 | } else { | ||
| 2294 | hdev->sco_cnt += count; | ||
| 2295 | if (hdev->sco_cnt > hdev->sco_pkts) | ||
| 2296 | hdev->sco_cnt = hdev->sco_pkts; | ||
| 2297 | } | 2297 | } |
| 2298 | break; | ||
| 2299 | |||
| 2300 | case SCO_LINK: | ||
| 2301 | hdev->sco_cnt += count; | ||
| 2302 | if (hdev->sco_cnt > hdev->sco_pkts) | ||
| 2303 | hdev->sco_cnt = hdev->sco_pkts; | ||
| 2304 | break; | ||
| 2305 | |||
| 2306 | default: | ||
| 2307 | BT_ERR("Unknown type %d conn %p", conn->type, conn); | ||
| 2308 | break; | ||
| 2298 | } | 2309 | } |
| 2299 | } | 2310 | } |
| 2300 | 2311 | ||
