Code is deeply nested. One level of indentation may be removed by inverting if statement conditional. Invert conditional, return if new conditional evaluates to true. Signed-off-by: Tobin C. Harding <me@xxxxxxxx> --- drivers/staging/ks7010/ks_hostif.c | 136 +++++++++++++++++++------------------ 1 file changed, 69 insertions(+), 67 deletions(-) diff --git a/drivers/staging/ks7010/ks_hostif.c b/drivers/staging/ks7010/ks_hostif.c index ed9969c..54ff06d 100644 --- a/drivers/staging/ks7010/ks_hostif.c +++ b/drivers/staging/ks7010/ks_hostif.c @@ -323,77 +323,79 @@ int hostif_data_indication_wpa(struct ks_wlan_private *priv, eth_hdr = (struct ether_hdr *)(priv->rxp); eth_proto = ntohs(eth_hdr->h_proto); - if (memcmp(ð_hdr->h_source[0], &priv->eth_addr[0], ETH_ALEN)) { /* source address check */ - if (eth_hdr->h_dest_snap != eth_hdr->h_source_snap) { - DPRINTK(1, "invalid data format\n"); - priv->nstats.rx_errors++; - return -EINVAL; + /* source address check */ + if (!memcmp(ð_hdr->h_source[0], &priv->eth_addr[0], ETH_ALEN)) + return 0; + + if (eth_hdr->h_dest_snap != eth_hdr->h_source_snap) { + DPRINTK(1, "invalid data format\n"); + priv->nstats.rx_errors++; + return -EINVAL; + } + if (((auth_type == TYPE_PMK1 + && priv->wpa.pairwise_suite == + IW_AUTH_CIPHER_TKIP) || (auth_type == TYPE_GMK1 + && priv->wpa. + group_suite == + IW_AUTH_CIPHER_TKIP) + || (auth_type == TYPE_GMK2 + && priv->wpa.group_suite == + IW_AUTH_CIPHER_TKIP)) + && priv->wpa.key[auth_type - 1].key_len) { + DPRINTK(4, "TKIP: protocol=%04X: size=%u\n", + eth_proto, priv->rx_size); + /* MIC save */ + memcpy(&RecvMIC[0], + (priv->rxp) + ((priv->rx_size) - 8), 8); + priv->rx_size = priv->rx_size - 8; + if (auth_type > 0 && auth_type < 4) { /* auth_type check */ + MichaelMICFunction(&michel_mic, (uint8_t *)priv->wpa.key[auth_type - 1].rx_mic_key, (uint8_t *)priv->rxp, (int)priv->rx_size, (uint8_t)0, /* priority */ + (uint8_t *)michel_mic.Result); } - if (((auth_type == TYPE_PMK1 - && priv->wpa.pairwise_suite == - IW_AUTH_CIPHER_TKIP) || (auth_type == TYPE_GMK1 - && priv->wpa. - group_suite == - IW_AUTH_CIPHER_TKIP) - || (auth_type == TYPE_GMK2 - && priv->wpa.group_suite == - IW_AUTH_CIPHER_TKIP)) - && priv->wpa.key[auth_type - 1].key_len) { - DPRINTK(4, "TKIP: protocol=%04X: size=%u\n", - eth_proto, priv->rx_size); - /* MIC save */ - memcpy(&RecvMIC[0], - (priv->rxp) + ((priv->rx_size) - 8), 8); - priv->rx_size = priv->rx_size - 8; - if (auth_type > 0 && auth_type < 4) { /* auth_type check */ - MichaelMICFunction(&michel_mic, (uint8_t *)priv->wpa.key[auth_type - 1].rx_mic_key, (uint8_t *)priv->rxp, (int)priv->rx_size, (uint8_t)0, /* priority */ - (uint8_t *)michel_mic.Result); + if (memcmp(michel_mic.Result, RecvMIC, 8)) { + now = jiffies; + mic_failure = &priv->wpa.mic_failure; + /* MIC FAILURE */ + if (mic_failure->last_failure_time && + (now - + mic_failure->last_failure_time) / + HZ >= 60) { + mic_failure->failure = 0; } - if (memcmp(michel_mic.Result, RecvMIC, 8)) { - now = jiffies; - mic_failure = &priv->wpa.mic_failure; - /* MIC FAILURE */ - if (mic_failure->last_failure_time && - (now - - mic_failure->last_failure_time) / - HZ >= 60) { - mic_failure->failure = 0; - } - DPRINTK(4, "MIC FAILURE\n"); - if (mic_failure->failure == 0) { - mic_failure->failure = 1; - mic_failure->counter = 0; - } else if (mic_failure->failure == 1) { - mic_failure->failure = 2; + DPRINTK(4, "MIC FAILURE\n"); + if (mic_failure->failure == 0) { + mic_failure->failure = 1; + mic_failure->counter = 0; + } else if (mic_failure->failure == 1) { + mic_failure->failure = 2; + mic_failure->counter = + (uint16_t)((now - + mic_failure-> + last_failure_time) + / HZ); + if (!mic_failure->counter) /* mic_failure counter value range 1-60 */ mic_failure->counter = - (uint16_t)((now - - mic_failure-> - last_failure_time) - / HZ); - if (!mic_failure->counter) /* mic_failure counter value range 1-60 */ - mic_failure->counter = - 1; - } - priv->wpa.mic_failure. - last_failure_time = now; - /* needed parameters: count, keyid, key type, TSC */ - sprintf(buf, - "MLME-MICHAELMICFAILURE.indication(keyid=%d %scast addr=" - "%pM)", - auth_type - 1, - eth_hdr-> - h_dest[0] & 0x01 ? "broad" : - "uni", eth_hdr->h_source); - memset(&wrqu, 0, sizeof(wrqu)); - wrqu.data.length = strlen(buf); - DPRINTK(4, - "IWEVENT:MICHAELMICFAILURE\n"); - wireless_send_event(priv->net_dev, - IWEVCUSTOM, &wrqu, - buf); - return -EINVAL; - + 1; } + priv->wpa.mic_failure. + last_failure_time = now; + /* needed parameters: count, keyid, key type, TSC */ + sprintf(buf, + "MLME-MICHAELMICFAILURE.indication(keyid=%d %scast addr=" + "%pM)", + auth_type - 1, + eth_hdr-> + h_dest[0] & 0x01 ? "broad" : + "uni", eth_hdr->h_source); + memset(&wrqu, 0, sizeof(wrqu)); + wrqu.data.length = strlen(buf); + DPRINTK(4, + "IWEVENT:MICHAELMICFAILURE\n"); + wireless_send_event(priv->net_dev, + IWEVCUSTOM, &wrqu, + buf); + return -EINVAL; + } } return 0; -- 2.7.4 _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel