Merge pull request #392 from iamqizhao/master

bug fix: stop busy wait on new transport
diff --git a/call.go b/call.go
index 8b68809..a91892e 100644
--- a/call.go
+++ b/call.go
@@ -160,9 +160,6 @@
 		}
 		t, err = conn.Wait(ctx)
 		if err != nil {
-			if err == ErrTransientFailure {
-				continue
-			}
 			if lastErr != nil {
 				// This was a retry; return the error from the last attempt.
 				return toRPCErr(lastErr)
diff --git a/clientconn.go b/clientconn.go
index f5b28d8..a96fcb8 100644
--- a/clientconn.go
+++ b/clientconn.go
@@ -65,8 +65,6 @@
 	// ErrClientConnTimeout indicates that the connection could not be
 	// established or re-established within the specified timeout.
 	ErrClientConnTimeout = errors.New("grpc: timed out trying to connect")
-	// ErrTransientFailure indicates the connection failed due to a transient error.
-	ErrTransientFailure = errors.New("grpc: transient connection failure")
 	// minimum time to give a connection to complete
 	minConnectTimeout = 20 * time.Second
 )
@@ -479,11 +477,6 @@
 		case cc.state == Ready:
 			cc.mu.Unlock()
 			return cc.transport, nil
-		case cc.state == TransientFailure:
-			cc.mu.Unlock()
-			// Break out so that the caller gets chance to pick another transport to
-			// perform rpc instead of sticking to this transport.
-			return nil, ErrTransientFailure
 		default:
 			ready := cc.ready
 			if ready == nil {
diff --git a/stream.go b/stream.go
index 21c51e8..55201c2 100644
--- a/stream.go
+++ b/stream.go
@@ -108,9 +108,6 @@
 		}
 		t, err = conn.Wait(ctx)
 		if err != nil {
-			if err == ErrTransientFailure {
-				continue
-			}
 			return nil, toRPCErr(err)
 		}
 		break