@@ -3033,36 +3033,31 @@ static int qeth_send_startlan(struct qeth_card *card)
3033
3033
return rc ;
3034
3034
}
3035
3035
3036
- static int qeth_default_setadapterparms_cb (struct qeth_card * card ,
3037
- struct qeth_reply * reply , unsigned long data )
3036
+ static int qeth_setadpparms_inspect_rc (struct qeth_ipa_cmd * cmd )
3038
3037
{
3039
- struct qeth_ipa_cmd * cmd ;
3040
-
3041
- QETH_CARD_TEXT (card , 4 , "defadpcb" );
3042
-
3043
- cmd = (struct qeth_ipa_cmd * ) data ;
3044
- if (cmd -> hdr .return_code == 0 )
3038
+ if (!cmd -> hdr .return_code )
3045
3039
cmd -> hdr .return_code =
3046
3040
cmd -> data .setadapterparms .hdr .return_code ;
3047
- return 0 ;
3041
+ return cmd -> hdr . return_code ;
3048
3042
}
3049
3043
3050
3044
static int qeth_query_setadapterparms_cb (struct qeth_card * card ,
3051
3045
struct qeth_reply * reply , unsigned long data )
3052
3046
{
3053
- struct qeth_ipa_cmd * cmd ;
3047
+ struct qeth_ipa_cmd * cmd = ( struct qeth_ipa_cmd * ) data ;
3054
3048
3055
3049
QETH_CARD_TEXT (card , 3 , "quyadpcb" );
3050
+ if (qeth_setadpparms_inspect_rc (cmd ))
3051
+ return 0 ;
3056
3052
3057
- cmd = (struct qeth_ipa_cmd * ) data ;
3058
3053
if (cmd -> data .setadapterparms .data .query_cmds_supp .lan_type & 0x7f ) {
3059
3054
card -> info .link_type =
3060
3055
cmd -> data .setadapterparms .data .query_cmds_supp .lan_type ;
3061
3056
QETH_DBF_TEXT_ (SETUP , 2 , "lnk %d" , card -> info .link_type );
3062
3057
}
3063
3058
card -> options .adp .supported_funcs =
3064
3059
cmd -> data .setadapterparms .data .query_cmds_supp .supported_cmds ;
3065
- return qeth_default_setadapterparms_cb ( card , reply , ( unsigned long ) cmd ) ;
3060
+ return 0 ;
3066
3061
}
3067
3062
3068
3063
static struct qeth_cmd_buffer * qeth_get_adapter_cmd (struct qeth_card * card ,
@@ -3154,22 +3149,20 @@ EXPORT_SYMBOL_GPL(qeth_query_ipassists);
3154
3149
static int qeth_query_switch_attributes_cb (struct qeth_card * card ,
3155
3150
struct qeth_reply * reply , unsigned long data )
3156
3151
{
3157
- struct qeth_ipa_cmd * cmd ;
3158
- struct qeth_switch_info * sw_info ;
3152
+ struct qeth_ipa_cmd * cmd = (struct qeth_ipa_cmd * ) data ;
3159
3153
struct qeth_query_switch_attributes * attrs ;
3154
+ struct qeth_switch_info * sw_info ;
3160
3155
3161
3156
QETH_CARD_TEXT (card , 2 , "qswiatcb" );
3162
- cmd = (struct qeth_ipa_cmd * ) data ;
3163
- sw_info = (struct qeth_switch_info * )reply -> param ;
3164
- if (cmd -> data .setadapterparms .hdr .return_code == 0 ) {
3165
- attrs = & cmd -> data .setadapterparms .data .query_switch_attributes ;
3166
- sw_info -> capabilities = attrs -> capabilities ;
3167
- sw_info -> settings = attrs -> settings ;
3168
- QETH_CARD_TEXT_ (card , 2 , "%04x%04x" , sw_info -> capabilities ,
3169
- sw_info -> settings );
3170
- }
3171
- qeth_default_setadapterparms_cb (card , reply , (unsigned long ) cmd );
3157
+ if (qeth_setadpparms_inspect_rc (cmd ))
3158
+ return 0 ;
3172
3159
3160
+ sw_info = (struct qeth_switch_info * )reply -> param ;
3161
+ attrs = & cmd -> data .setadapterparms .data .query_switch_attributes ;
3162
+ sw_info -> capabilities = attrs -> capabilities ;
3163
+ sw_info -> settings = attrs -> settings ;
3164
+ QETH_CARD_TEXT_ (card , 2 , "%04x%04x" , sw_info -> capabilities ,
3165
+ sw_info -> settings );
3173
3166
return 0 ;
3174
3167
}
3175
3168
@@ -4207,16 +4200,13 @@ EXPORT_SYMBOL_GPL(qeth_do_send_packet);
4207
4200
static int qeth_setadp_promisc_mode_cb (struct qeth_card * card ,
4208
4201
struct qeth_reply * reply , unsigned long data )
4209
4202
{
4210
- struct qeth_ipa_cmd * cmd ;
4203
+ struct qeth_ipa_cmd * cmd = ( struct qeth_ipa_cmd * ) data ;
4211
4204
struct qeth_ipacmd_setadpparms * setparms ;
4212
4205
4213
4206
QETH_CARD_TEXT (card , 4 , "prmadpcb" );
4214
4207
4215
- cmd = (struct qeth_ipa_cmd * ) data ;
4216
4208
setparms = & (cmd -> data .setadapterparms );
4217
-
4218
- qeth_default_setadapterparms_cb (card , reply , (unsigned long )cmd );
4219
- if (cmd -> hdr .return_code ) {
4209
+ if (qeth_setadpparms_inspect_rc (cmd )) {
4220
4210
QETH_CARD_TEXT_ (card , 4 , "prmrc%x" , cmd -> hdr .return_code );
4221
4211
setparms -> data .mode = SET_PROMISC_MODE_OFF ;
4222
4212
}
@@ -4286,18 +4276,18 @@ EXPORT_SYMBOL_GPL(qeth_get_stats);
4286
4276
static int qeth_setadpparms_change_macaddr_cb (struct qeth_card * card ,
4287
4277
struct qeth_reply * reply , unsigned long data )
4288
4278
{
4289
- struct qeth_ipa_cmd * cmd ;
4279
+ struct qeth_ipa_cmd * cmd = ( struct qeth_ipa_cmd * ) data ;
4290
4280
4291
4281
QETH_CARD_TEXT (card , 4 , "chgmaccb" );
4282
+ if (qeth_setadpparms_inspect_rc (cmd ))
4283
+ return 0 ;
4292
4284
4293
- cmd = (struct qeth_ipa_cmd * ) data ;
4294
4285
if (!card -> options .layer2 ||
4295
4286
!(card -> info .mac_bits & QETH_LAYER2_MAC_READ )) {
4296
4287
ether_addr_copy (card -> dev -> dev_addr ,
4297
4288
cmd -> data .setadapterparms .data .change_addr .addr );
4298
4289
card -> info .mac_bits |= QETH_LAYER2_MAC_READ ;
4299
4290
}
4300
- qeth_default_setadapterparms_cb (card , reply , (unsigned long ) cmd );
4301
4291
return 0 ;
4302
4292
}
4303
4293
@@ -4328,13 +4318,15 @@ EXPORT_SYMBOL_GPL(qeth_setadpparms_change_macaddr);
4328
4318
static int qeth_setadpparms_set_access_ctrl_cb (struct qeth_card * card ,
4329
4319
struct qeth_reply * reply , unsigned long data )
4330
4320
{
4331
- struct qeth_ipa_cmd * cmd ;
4321
+ struct qeth_ipa_cmd * cmd = ( struct qeth_ipa_cmd * ) data ;
4332
4322
struct qeth_set_access_ctrl * access_ctrl_req ;
4333
4323
int fallback = * (int * )reply -> param ;
4334
4324
4335
4325
QETH_CARD_TEXT (card , 4 , "setaccb" );
4326
+ if (cmd -> hdr .return_code )
4327
+ return 0 ;
4328
+ qeth_setadpparms_inspect_rc (cmd );
4336
4329
4337
- cmd = (struct qeth_ipa_cmd * ) data ;
4338
4330
access_ctrl_req = & cmd -> data .setadapterparms .data .set_access_ctrl ;
4339
4331
QETH_DBF_TEXT_ (SETUP , 2 , "setaccb" );
4340
4332
QETH_DBF_TEXT_ (SETUP , 2 , "%s" , card -> gdev -> dev .kobj .name );
@@ -4407,7 +4399,6 @@ static int qeth_setadpparms_set_access_ctrl_cb(struct qeth_card *card,
4407
4399
card -> options .isolation = card -> options .prev_isolation ;
4408
4400
break ;
4409
4401
}
4410
- qeth_default_setadapterparms_cb (card , reply , (unsigned long ) cmd );
4411
4402
return 0 ;
4412
4403
}
4413
4404
@@ -4695,14 +4686,15 @@ static int qeth_snmp_command(struct qeth_card *card, char __user *udata)
4695
4686
static int qeth_setadpparms_query_oat_cb (struct qeth_card * card ,
4696
4687
struct qeth_reply * reply , unsigned long data )
4697
4688
{
4698
- struct qeth_ipa_cmd * cmd ;
4689
+ struct qeth_ipa_cmd * cmd = ( struct qeth_ipa_cmd * ) data ;
4699
4690
struct qeth_qoat_priv * priv ;
4700
4691
char * resdata ;
4701
4692
int resdatalen ;
4702
4693
4703
4694
QETH_CARD_TEXT (card , 3 , "qoatcb" );
4695
+ if (qeth_setadpparms_inspect_rc (cmd ))
4696
+ return 0 ;
4704
4697
4705
- cmd = (struct qeth_ipa_cmd * )data ;
4706
4698
priv = (struct qeth_qoat_priv * )reply -> param ;
4707
4699
resdatalen = cmd -> data .setadapterparms .hdr .cmdlength ;
4708
4700
resdata = (char * )data + 28 ;
@@ -4796,21 +4788,18 @@ static int qeth_query_oat_command(struct qeth_card *card, char __user *udata)
4796
4788
static int qeth_query_card_info_cb (struct qeth_card * card ,
4797
4789
struct qeth_reply * reply , unsigned long data )
4798
4790
{
4799
- struct qeth_ipa_cmd * cmd ;
4791
+ struct carrier_info * carrier_info = (struct carrier_info * )reply -> param ;
4792
+ struct qeth_ipa_cmd * cmd = (struct qeth_ipa_cmd * )data ;
4800
4793
struct qeth_query_card_info * card_info ;
4801
- struct carrier_info * carrier_info ;
4802
4794
4803
4795
QETH_CARD_TEXT (card , 2 , "qcrdincb" );
4804
- carrier_info = (struct carrier_info * )reply -> param ;
4805
- cmd = (struct qeth_ipa_cmd * )data ;
4806
- card_info = & cmd -> data .setadapterparms .data .card_info ;
4807
- if (cmd -> data .setadapterparms .hdr .return_code == 0 ) {
4808
- carrier_info -> card_type = card_info -> card_type ;
4809
- carrier_info -> port_mode = card_info -> port_mode ;
4810
- carrier_info -> port_speed = card_info -> port_speed ;
4811
- }
4796
+ if (qeth_setadpparms_inspect_rc (cmd ))
4797
+ return 0 ;
4812
4798
4813
- qeth_default_setadapterparms_cb (card , reply , (unsigned long ) cmd );
4799
+ card_info = & cmd -> data .setadapterparms .data .card_info ;
4800
+ carrier_info -> card_type = card_info -> card_type ;
4801
+ carrier_info -> port_mode = card_info -> port_mode ;
4802
+ carrier_info -> port_speed = card_info -> port_speed ;
4814
4803
return 0 ;
4815
4804
}
4816
4805
0 commit comments