cxgbe(4): Do not bring up an interface when IFCAP_TOE is enabled on it.
The interface's queues are functional after VI_INIT_DONE (which is short of interface-up) and that's all that's needed for t4_tom to communicate with the chip. Approved by: re@ (gjb@) Sponsored by: Chelsio Communications
This commit is contained in:
parent
eaa90873e9
commit
ecbf2c3532
@ -8981,12 +8981,12 @@ toe_capability(struct vi_info *vi, int enable)
|
||||
* port has never been UP'd administratively.
|
||||
*/
|
||||
if (!(vi->flags & VI_INIT_DONE)) {
|
||||
rc = cxgbe_init_synchronized(vi);
|
||||
rc = vi_full_init(vi);
|
||||
if (rc)
|
||||
return (rc);
|
||||
}
|
||||
if (!(pi->vi[0].flags & VI_INIT_DONE)) {
|
||||
rc = cxgbe_init_synchronized(&pi->vi[0]);
|
||||
rc = vi_full_init(&pi->vi[0]);
|
||||
if (rc)
|
||||
return (rc);
|
||||
}
|
||||
|
@ -532,7 +532,7 @@ t4_listen_start(struct toedev *tod, struct tcpcb *tp)
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Find a running VI with IFCAP_TOE (4 or 6). We'll use the first
|
||||
* Find an initialized VI with IFCAP_TOE (4 or 6). We'll use the first
|
||||
* such VI's queues to send the passive open and receive the reply to
|
||||
* it.
|
||||
*
|
||||
@ -543,7 +543,7 @@ t4_listen_start(struct toedev *tod, struct tcpcb *tp)
|
||||
for_each_port(sc, i) {
|
||||
pi = sc->port[i];
|
||||
for_each_vi(pi, v, vi) {
|
||||
if (vi->ifp->if_drv_flags & IFF_DRV_RUNNING &&
|
||||
if (vi->flags & VI_INIT_DONE &&
|
||||
vi->ifp->if_capenable & IFCAP_TOE)
|
||||
goto found;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user