Skip to content

Commit

Permalink
qeth: use qeth_card_hw_is_reachable() everywhere
Browse files Browse the repository at this point in the history
qeth_card_hw_is_reachable() was introduced as part of a new
functionality, but it is a useful abstraction that can replace
verbose checks througout the rest of the `qeth` driver.

Signed-off-by: Eugene Crosser <Eugene.Crosser@ru.ibm.com>
Signed-off-by: Ursula Braun <ursula.braun@de.ibm.com>
Reviewed-by: Thomas-Mich Richter <tmricht@de.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
  • Loading branch information
Eugene Crosser authored and David S. Miller committed Jan 18, 2015
1 parent b646c08 commit c352125
Show file tree
Hide file tree
Showing 4 changed files with 8 additions and 15 deletions.
7 changes: 3 additions & 4 deletions drivers/s390/net/qeth_core_sys.c
Original file line number Diff line number Diff line change
Expand Up @@ -531,8 +531,7 @@ static ssize_t qeth_dev_isolation_store(struct device *dev,
/* defer IP assist if device is offline (until discipline->set_online)*/
card->options.prev_isolation = card->options.isolation;
card->options.isolation = isolation;
if (card->state == CARD_STATE_SOFTSETUP ||
card->state == CARD_STATE_UP) {
if (qeth_card_hw_is_reachable(card)) {
int ipa_rc = qeth_set_access_ctrl_online(card, 1);
if (ipa_rc != 0)
rc = ipa_rc;
Expand All @@ -555,7 +554,7 @@ static ssize_t qeth_dev_switch_attrs_show(struct device *dev,
if (!card)
return -EINVAL;

if (card->state != CARD_STATE_SOFTSETUP && card->state != CARD_STATE_UP)
if (!qeth_card_hw_is_reachable(card))
return sprintf(buf, "n/a\n");

rc = qeth_query_switch_attributes(card, &sw_info);
Expand Down Expand Up @@ -606,7 +605,7 @@ static ssize_t qeth_hw_trap_store(struct device *dev,
return -EINVAL;

mutex_lock(&card->conf_mutex);
if (card->state == CARD_STATE_SOFTSETUP || card->state == CARD_STATE_UP)
if (qeth_card_hw_is_reachable(card))
state = 1;
tmp = strsep(&curtoken, "\n");

Expand Down
6 changes: 2 additions & 4 deletions drivers/s390/net/qeth_l2_main.c
Original file line number Diff line number Diff line change
Expand Up @@ -48,8 +48,7 @@ static int qeth_l2_do_ioctl(struct net_device *dev, struct ifreq *rq, int cmd)
if (!card)
return -ENODEV;

if ((card->state != CARD_STATE_UP) &&
(card->state != CARD_STATE_SOFTSETUP))
if (!qeth_card_hw_is_reachable(card))
return -ENODEV;

if (card->info.type == QETH_CARD_TYPE_OSN)
Expand Down Expand Up @@ -1344,8 +1343,7 @@ int qeth_osn_assist(struct net_device *dev, void *data, int data_len)
if (!card)
return -ENODEV;
QETH_CARD_TEXT(card, 2, "osnsdmc");
if ((card->state != CARD_STATE_UP) &&
(card->state != CARD_STATE_SOFTSETUP))
if (!qeth_card_hw_is_reachable(card))
return -ENODEV;
iob = qeth_wait_for_buffer(&card->write);
memcpy(iob->data+IPA_PDU_HEADER_SIZE, data, data_len);
Expand Down
7 changes: 2 additions & 5 deletions drivers/s390/net/qeth_l3_main.c
Original file line number Diff line number Diff line change
Expand Up @@ -432,10 +432,8 @@ void qeth_l3_set_ip_addr_list(struct qeth_card *card)
QETH_CARD_TEXT(card, 2, "sdiplist");
QETH_CARD_HEX(card, 2, &card, sizeof(void *));

if ((card->state != CARD_STATE_UP &&
card->state != CARD_STATE_SOFTSETUP) || card->options.sniffer) {
if (!qeth_card_hw_is_reachable(card) || card->options.sniffer)
return;
}

spin_lock_irqsave(&card->ip_lock, flags);
tbd_list = card->ip_tbd_list;
Expand Down Expand Up @@ -2626,8 +2624,7 @@ static int qeth_l3_do_ioctl(struct net_device *dev, struct ifreq *rq, int cmd)
if (!card)
return -ENODEV;

if ((card->state != CARD_STATE_UP) &&
(card->state != CARD_STATE_SOFTSETUP))
if (!qeth_card_hw_is_reachable(card))
return -ENODEV;

switch (cmd) {
Expand Down
3 changes: 1 addition & 2 deletions drivers/s390/net/qeth_l3_sys.c
Original file line number Diff line number Diff line change
Expand Up @@ -78,8 +78,7 @@ static ssize_t qeth_l3_dev_route_store(struct qeth_card *card,
rc = -EINVAL;
goto out;
}
if (((card->state == CARD_STATE_SOFTSETUP) ||
(card->state == CARD_STATE_UP)) &&
if (qeth_card_hw_is_reachable(card) &&
(old_route_type != route->type)) {
if (prot == QETH_PROT_IPV4)
rc = qeth_l3_setrouting_v4(card);
Expand Down

0 comments on commit c352125

Please sign in to comment.