Skip to content

Commit

Permalink
s390/qeth: tolerate error when querying card info
Browse files Browse the repository at this point in the history
By the time that our .get_link_ksettings() code issues a QUERY CARD INFO
cmd to get link-related information, we already set up a good amount of
static link data.

Return this data when the cmd fails, same as when the cmd is not
supported.

Signed-off-by: Julian Wiedmann <jwi@linux.ibm.com>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
  • Loading branch information
Julian Wiedmann authored and Jakub Kicinski committed Nov 19, 2020
1 parent 215d283 commit 88ad4d9
Showing 1 changed file with 1 addition and 6 deletions.
7 changes: 1 addition & 6 deletions drivers/s390/net/qeth_ethtool.c
Original file line number Diff line number Diff line change
Expand Up @@ -413,7 +413,6 @@ static int qeth_get_link_ksettings(struct net_device *netdev,
struct qeth_card *card = netdev->ml_priv;
enum qeth_link_types link_type;
struct carrier_info carrier_info;
int rc;

if (IS_IQD(card) || IS_VM_NIC(card))
link_type = QETH_LINK_TYPE_10GBIT_ETH;
Expand Down Expand Up @@ -455,12 +454,8 @@ static int qeth_get_link_ksettings(struct net_device *netdev,
/* Check if we can obtain more accurate information. */
/* If QUERY_CARD_INFO command is not supported or fails, */
/* just return the heuristics that was filled above. */
rc = qeth_query_card_info(card, &carrier_info);
if (rc == -EOPNOTSUPP) /* for old hardware, return heuristic */
if (qeth_query_card_info(card, &carrier_info))
return 0;
if (rc) /* report error from the hardware operation */
return rc;
/* on success, fill in the information got from the hardware */

netdev_dbg(netdev,
"card info: card_type=0x%02x, port_mode=0x%04x, port_speed=0x%08x\n",
Expand Down

0 comments on commit 88ad4d9

Please sign in to comment.