diff options
author | Ursula Braun <ursula.braun@de.ibm.com> | 2009-01-05 21:07:46 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2009-01-05 21:07:46 -0500 |
commit | 18becbc5479f88d5adc218374ca62b8b93ec2545 (patch) | |
tree | c99569ff4d63df5cef410152fbb83d74c683f8be /net | |
parent | 55cdea9ed9cf2d76993e40ed7a1fc649a14db07c (diff) |
af_iucv: avoid left over IUCV connections from failing connects
For certain types of AFIUCV socket connect failures IUCV connections
are left over. Add some cleanup-statements to avoid cluttered IUCV
connections.
Signed-off-by: Ursula Braun <ursula.braun@de.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net')
-rw-r--r-- | net/iucv/af_iucv.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/net/iucv/af_iucv.c b/net/iucv/af_iucv.c index 1077bc4e6e2a..6b5f193e5f48 100644 --- a/net/iucv/af_iucv.c +++ b/net/iucv/af_iucv.c | |||
@@ -521,6 +521,13 @@ static int iucv_sock_connect(struct socket *sock, struct sockaddr *addr, | |||
521 | release_sock(sk); | 521 | release_sock(sk); |
522 | return -ECONNREFUSED; | 522 | return -ECONNREFUSED; |
523 | } | 523 | } |
524 | |||
525 | if (err) { | ||
526 | iucv_path_sever(iucv->path, NULL); | ||
527 | iucv_path_free(iucv->path); | ||
528 | iucv->path = NULL; | ||
529 | } | ||
530 | |||
524 | done: | 531 | done: |
525 | release_sock(sk); | 532 | release_sock(sk); |
526 | return err; | 533 | return err; |