mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-31 04:01:48 -04:00
Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net
Minor conflict in r8169, bug fix had two versions in net and net-next, take the net-next hunks. Signed-off-by: David S. Miller <[email protected]>
This commit is contained in:
commit
68aaf44595
279 changed files with 2599 additions and 1287 deletions
16
net/rds/ib.c
16
net/rds/ib.c
|
|
@ -291,7 +291,7 @@ static int rds_ib_conn_info_visitor(struct rds_connection *conn,
|
|||
void *buffer)
|
||||
{
|
||||
struct rds_info_rdma_connection *iinfo = buffer;
|
||||
struct rds_ib_connection *ic;
|
||||
struct rds_ib_connection *ic = conn->c_transport_data;
|
||||
|
||||
/* We will only ever look at IB transports */
|
||||
if (conn->c_trans != &rds_ib_transport)
|
||||
|
|
@ -301,15 +301,16 @@ static int rds_ib_conn_info_visitor(struct rds_connection *conn,
|
|||
|
||||
iinfo->src_addr = conn->c_laddr.s6_addr32[3];
|
||||
iinfo->dst_addr = conn->c_faddr.s6_addr32[3];
|
||||
iinfo->tos = conn->c_tos;
|
||||
if (ic) {
|
||||
iinfo->tos = conn->c_tos;
|
||||
iinfo->sl = ic->i_sl;
|
||||
}
|
||||
|
||||
memset(&iinfo->src_gid, 0, sizeof(iinfo->src_gid));
|
||||
memset(&iinfo->dst_gid, 0, sizeof(iinfo->dst_gid));
|
||||
if (rds_conn_state(conn) == RDS_CONN_UP) {
|
||||
struct rds_ib_device *rds_ibdev;
|
||||
|
||||
ic = conn->c_transport_data;
|
||||
|
||||
rdma_read_gids(ic->i_cm_id, (union ib_gid *)&iinfo->src_gid,
|
||||
(union ib_gid *)&iinfo->dst_gid);
|
||||
|
||||
|
|
@ -329,7 +330,7 @@ static int rds6_ib_conn_info_visitor(struct rds_connection *conn,
|
|||
void *buffer)
|
||||
{
|
||||
struct rds6_info_rdma_connection *iinfo6 = buffer;
|
||||
struct rds_ib_connection *ic;
|
||||
struct rds_ib_connection *ic = conn->c_transport_data;
|
||||
|
||||
/* We will only ever look at IB transports */
|
||||
if (conn->c_trans != &rds_ib_transport)
|
||||
|
|
@ -337,6 +338,10 @@ static int rds6_ib_conn_info_visitor(struct rds_connection *conn,
|
|||
|
||||
iinfo6->src_addr = conn->c_laddr;
|
||||
iinfo6->dst_addr = conn->c_faddr;
|
||||
if (ic) {
|
||||
iinfo6->tos = conn->c_tos;
|
||||
iinfo6->sl = ic->i_sl;
|
||||
}
|
||||
|
||||
memset(&iinfo6->src_gid, 0, sizeof(iinfo6->src_gid));
|
||||
memset(&iinfo6->dst_gid, 0, sizeof(iinfo6->dst_gid));
|
||||
|
|
@ -344,7 +349,6 @@ static int rds6_ib_conn_info_visitor(struct rds_connection *conn,
|
|||
if (rds_conn_state(conn) == RDS_CONN_UP) {
|
||||
struct rds_ib_device *rds_ibdev;
|
||||
|
||||
ic = conn->c_transport_data;
|
||||
rdma_read_gids(ic->i_cm_id, (union ib_gid *)&iinfo6->src_gid,
|
||||
(union ib_gid *)&iinfo6->dst_gid);
|
||||
rds_ibdev = ic->rds_ibdev;
|
||||
|
|
|
|||
|
|
@ -220,6 +220,7 @@ struct rds_ib_connection {
|
|||
/* Send/Recv vectors */
|
||||
int i_scq_vector;
|
||||
int i_rcq_vector;
|
||||
u8 i_sl;
|
||||
};
|
||||
|
||||
/* This assumes that atomic_t is at least 32 bits */
|
||||
|
|
|
|||
|
|
@ -152,6 +152,9 @@ void rds_ib_cm_connect_complete(struct rds_connection *conn, struct rdma_cm_even
|
|||
RDS_PROTOCOL_MINOR(conn->c_version),
|
||||
ic->i_flowctl ? ", flow control" : "");
|
||||
|
||||
/* receive sl from the peer */
|
||||
ic->i_sl = ic->i_cm_id->route.path_rec->sl;
|
||||
|
||||
atomic_set(&ic->i_cq_quiesce, 0);
|
||||
|
||||
/* Init rings and fill recv. this needs to wait until protocol
|
||||
|
|
|
|||
|
|
@ -43,6 +43,9 @@ static struct rdma_cm_id *rds_rdma_listen_id;
|
|||
static struct rdma_cm_id *rds6_rdma_listen_id;
|
||||
#endif
|
||||
|
||||
/* Per IB specification 7.7.3, service level is a 4-bit field. */
|
||||
#define TOS_TO_SL(tos) ((tos) & 0xF)
|
||||
|
||||
static int rds_rdma_cm_event_handler_cmn(struct rdma_cm_id *cm_id,
|
||||
struct rdma_cm_event *event,
|
||||
bool isv6)
|
||||
|
|
@ -97,10 +100,13 @@ static int rds_rdma_cm_event_handler_cmn(struct rdma_cm_id *cm_id,
|
|||
struct rds_ib_connection *ibic;
|
||||
|
||||
ibic = conn->c_transport_data;
|
||||
if (ibic && ibic->i_cm_id == cm_id)
|
||||
if (ibic && ibic->i_cm_id == cm_id) {
|
||||
cm_id->route.path_rec[0].sl =
|
||||
TOS_TO_SL(conn->c_tos);
|
||||
ret = trans->cm_initiate_connect(cm_id, isv6);
|
||||
else
|
||||
} else {
|
||||
rds_conn_drop(conn);
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue