Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

staging: rtl8188eu: goto removed

malloc error handling moved into one place.

Signed-off-by: Ivan Safonov <insafonov@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

authored by

Ivan Safonov and committed by
Greg Kroah-Hartman
25e168a4 4a3bda22

+13 -54
+13 -54
drivers/staging/rtl8188eu/core/rtw_cmd.c
··· 563 563 struct setopmode_parm *psetop; 564 564 565 565 struct cmd_priv *pcmdpriv = &padapter->cmdpriv; 566 - u8 res = _SUCCESS; 567 - 568 566 569 567 ph2c = kzalloc(sizeof(struct cmd_obj), GFP_KERNEL); 570 - if (ph2c == NULL) { 571 - res = false; 572 - goto exit; 573 - } 574 568 psetop = kzalloc(sizeof(struct setopmode_parm), GFP_KERNEL); 575 - 576 - if (psetop == NULL) { 569 + if (!ph2c || !psetop) { 577 570 kfree(ph2c); 578 - res = false; 579 - goto exit; 571 + kfree(psetop); 572 + return false; 580 573 } 581 574 582 575 init_h2fwcmd_w_parm_no_rsp(ph2c, psetop, _SetOpMode_CMD_); 583 576 psetop->mode = (u8)networktype; 584 577 585 - res = rtw_enqueue_cmd(pcmdpriv, ph2c); 586 - 587 - exit: 588 - 589 - 590 - return res; 578 + return rtw_enqueue_cmd(pcmdpriv, ph2c); 591 579 } 592 580 593 581 u8 rtw_setstakey_cmd(struct adapter *padapter, u8 *psta, u8 unicast_key) ··· 588 600 struct mlme_priv *pmlmepriv = &padapter->mlmepriv; 589 601 struct security_priv *psecuritypriv = &padapter->securitypriv; 590 602 struct sta_info *sta = (struct sta_info *)psta; 591 - u8 res = _SUCCESS; 592 - 593 603 594 604 ph2c = kzalloc(sizeof(struct cmd_obj), GFP_KERNEL); 595 - if (ph2c == NULL) { 596 - res = _FAIL; 597 - goto exit; 598 - } 599 - 600 605 psetstakey_para = kzalloc(sizeof(struct set_stakey_parm), GFP_KERNEL); 601 - if (psetstakey_para == NULL) { 602 - kfree(ph2c); 603 - res = _FAIL; 604 - goto exit; 605 - } 606 - 607 606 psetstakey_rsp = kzalloc(sizeof(struct set_stakey_rsp), GFP_KERNEL); 608 - if (psetstakey_rsp == NULL) { 607 + 608 + if (!ph2c || !psetstakey_para || !psetstakey_rsp) { 609 609 kfree(ph2c); 610 610 kfree(psetstakey_para); 611 - res = _FAIL; 612 - goto exit; 611 + kfree(psetstakey_rsp); 612 + return _FAIL; 613 613 } 614 614 615 615 init_h2fwcmd_w_parm_no_rsp(ph2c, psetstakey_para, _SetStaKey_CMD_); ··· 619 643 /* jeff: set this because at least sw key is ready */ 620 644 padapter->securitypriv.busetkipkey = true; 621 645 622 - res = rtw_enqueue_cmd(pcmdpriv, ph2c); 623 - 624 - exit: 625 - 626 - 627 - return res; 646 + return rtw_enqueue_cmd(pcmdpriv, ph2c); 628 647 } 629 648 630 649 u8 rtw_clearstakey_cmd(struct adapter *padapter, u8 *psta, u8 entry, u8 enqueue) ··· 1050 1079 struct drvextra_cmd_parm *pdrvextra_cmd_parm; 1051 1080 struct cmd_priv *pcmdpriv = &padapter->cmdpriv; 1052 1081 1053 - u8 res = _SUCCESS; 1054 - 1055 1082 ppscmd = kzalloc(sizeof(struct cmd_obj), GFP_ATOMIC); 1056 - if (ppscmd == NULL) { 1057 - res = _FAIL; 1058 - goto exit; 1059 - } 1060 - 1061 1083 pdrvextra_cmd_parm = kzalloc(sizeof(struct drvextra_cmd_parm), GFP_ATOMIC); 1062 - if (pdrvextra_cmd_parm == NULL) { 1084 + if (!ppscmd || !pdrvextra_cmd_parm) { 1063 1085 kfree(ppscmd); 1064 - res = _FAIL; 1065 - goto exit; 1086 + kfree(pdrvextra_cmd_parm); 1087 + return _FAIL; 1066 1088 } 1067 1089 1068 1090 pdrvextra_cmd_parm->ec_id = POWER_SAVING_CTRL_WK_CID; 1069 1091 pdrvextra_cmd_parm->pbuf = NULL; 1070 1092 init_h2fwcmd_w_parm_no_rsp(ppscmd, pdrvextra_cmd_parm, GEN_CMD_CODE(_Set_Drv_Extra)); 1071 1093 1072 - res = rtw_enqueue_cmd(pcmdpriv, ppscmd); 1073 - 1074 - exit: 1075 - 1076 - 1077 - return res; 1094 + return rtw_enqueue_cmd(pcmdpriv, ppscmd); 1078 1095 } 1079 1096 1080 1097 #ifdef CONFIG_88EU_AP_MODE