提交 732a59cb 编写于 作者: T Thomas Richter 提交者: David S. Miller

s390/qeth: fix setting VIPA address

commit 5f78e29c ("qeth: optimize IP handling in rx_mode callback")
restructured the internal address handling.
This work broke setting a virtual IP address.
The command
echo 10.1.1.1 > /sys/bus/ccwgroup/devices/<device>/vipa/add4
fails with file exist error even if the IP address has not
been set before.

It turned out that the search result for the IP address
search is handled incorrectly in the VIPA case.

This patch fixes the setting of an virtual IP address.
Signed-off-by: NThomas Richter <tmricht@linux.vnet.ibm.com>
Signed-off-by: NUrsula Braun <ubraun@linux.vnet.ibm.com>
Signed-off-by: NDavid S. Miller <davem@davemloft.net>
上级 5722963a
...@@ -701,7 +701,7 @@ int qeth_l3_add_vipa(struct qeth_card *card, enum qeth_prot_versions proto, ...@@ -701,7 +701,7 @@ int qeth_l3_add_vipa(struct qeth_card *card, enum qeth_prot_versions proto,
spin_lock_bh(&card->ip_lock); spin_lock_bh(&card->ip_lock);
if (!qeth_l3_ip_from_hash(card, ipaddr)) if (qeth_l3_ip_from_hash(card, ipaddr))
rc = -EEXIST; rc = -EEXIST;
else else
qeth_l3_add_ip(card, ipaddr); qeth_l3_add_ip(card, ipaddr);
...@@ -769,7 +769,7 @@ int qeth_l3_add_rxip(struct qeth_card *card, enum qeth_prot_versions proto, ...@@ -769,7 +769,7 @@ int qeth_l3_add_rxip(struct qeth_card *card, enum qeth_prot_versions proto,
spin_lock_bh(&card->ip_lock); spin_lock_bh(&card->ip_lock);
if (!qeth_l3_ip_from_hash(card, ipaddr)) if (qeth_l3_ip_from_hash(card, ipaddr))
rc = -EEXIST; rc = -EEXIST;
else else
qeth_l3_add_ip(card, ipaddr); qeth_l3_add_ip(card, ipaddr);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册