summaryrefslogtreecommitdiffstats
path: root/sys/dev
diff options
context:
space:
mode:
authorkmacy <kmacy@FreeBSD.org>2007-03-23 22:03:55 +0000
committerkmacy <kmacy@FreeBSD.org>2007-03-23 22:03:55 +0000
commiteeef57ea744dba8749205ed12a3194b1e8288cb9 (patch)
tree6a1ae7eba1601c4cee87fecd66f1fbaa173583f7 /sys/dev
parent109b79fc3c47fd450259d21043ef904e66dc411e (diff)
downloadFreeBSD-src-eeef57ea744dba8749205ed12a3194b1e8288cb9.zip
FreeBSD-src-eeef57ea744dba8749205ed12a3194b1e8288cb9.tar.gz
- Increase coalesce_nsecs
- commit fixes for the following coverity warnings: 1765, 1760, 1758, 1756
Diffstat (limited to 'sys/dev')
-rw-r--r--sys/dev/cxgb/cxgb_main.c22
-rw-r--r--sys/dev/cxgb/cxgb_sge.c26
2 files changed, 31 insertions, 17 deletions
diff --git a/sys/dev/cxgb/cxgb_main.c b/sys/dev/cxgb/cxgb_main.c
index 17ea53c..9eb6b9a 100644
--- a/sys/dev/cxgb/cxgb_main.c
+++ b/sys/dev/cxgb/cxgb_main.c
@@ -1064,16 +1064,18 @@ send_pktsched_cmd(struct adapter *adap, int sched, int qidx, int lo,
struct mngt_pktsched_wr *req;
m = m_gethdr(M_NOWAIT, MT_DATA);
- req = (struct mngt_pktsched_wr *)m->m_data;
- req->wr_hi = htonl(V_WR_OP(FW_WROPCODE_MNGT));
- req->mngt_opcode = FW_MNGTOPCODE_PKTSCHED_SET;
- req->sched = sched;
- req->idx = qidx;
- req->min = lo;
- req->max = hi;
- req->binding = port;
- m->m_len = m->m_pkthdr.len = sizeof(*req);
- t3_mgmt_tx(adap, m);
+ if (m) {
+ req = (struct mngt_pktsched_wr *)m->m_data;
+ req->wr_hi = htonl(V_WR_OP(FW_WROPCODE_MNGT));
+ req->mngt_opcode = FW_MNGTOPCODE_PKTSCHED_SET;
+ req->sched = sched;
+ req->idx = qidx;
+ req->min = lo;
+ req->max = hi;
+ req->binding = port;
+ m->m_len = m->m_pkthdr.len = sizeof(*req);
+ t3_mgmt_tx(adap, m);
+ }
}
static void
diff --git a/sys/dev/cxgb/cxgb_sge.c b/sys/dev/cxgb/cxgb_sge.c
index 5e9d6d1..aab6bd4 100644
--- a/sys/dev/cxgb/cxgb_sge.c
+++ b/sys/dev/cxgb/cxgb_sge.c
@@ -269,14 +269,15 @@ get_imm_packet(adapter_t *sc, const struct rsp_desc *resp, struct t3_mbuf_hdr *m
uint32_t flags = ntohl(resp->flags);
uint8_t sopeop = G_RSPD_SOP_EOP(flags);
- m = m_gethdr(M_NOWAIT, MT_DATA);
- len = G_RSPD_LEN(ntohl(resp->len_cq));
/*
* would be a firmware bug
*/
if (sopeop == RSPQ_NSOP_NEOP || sopeop == RSPQ_SOP)
return (0);
+ m = m_gethdr(M_NOWAIT, MT_DATA);
+ len = G_RSPD_LEN(ntohl(resp->len_cq));
+
if (m) {
MH_ALIGN(m, IMMED_PKT_SIZE);
memcpy(m->m_data, resp->imm_data, IMMED_PKT_SIZE);
@@ -342,7 +343,12 @@ t3_sge_prep(adapter_t *adap, struct sge_params *p)
struct qset_params *q = p->qset + i;
q->polling = adap->params.rev > 0;
- q->coalesce_nsecs = 3500;
+
+ if (adap->flags & USING_MSIX)
+ q->coalesce_nsecs = 6000;
+ else
+ q->coalesce_nsecs = 3500;
+
q->rspq_size = RSPQ_Q_SIZE;
q->fl_size = FL_Q_SIZE;
q->jumbo_size = JUMBO_Q_SIZE;
@@ -462,7 +468,10 @@ refill_fl(adapter_t *sc, struct sge_fl *q, int n)
}
if ((sd->flags & RX_SW_DESC_MAP_CREATED) == 0) {
- bus_dmamap_create(sc->rx_jumbo_dmat, 0, &sd->map);
+ if ((err = bus_dmamap_create(sc->rx_jumbo_dmat, 0, &sd->map))) {
+ log(LOG_WARNING, "bus_dmamap_create failed %d\n", err);
+ goto done;
+ }
sd->flags |= RX_SW_DESC_MAP_CREATED;
}
sd->flags |= RX_SW_DESC_INUSE;
@@ -632,8 +641,10 @@ void
t3_sge_deinit_sw(adapter_t *sc)
{
callout_drain(&sc->sge_timer_ch);
- taskqueue_drain(sc->tq, &sc->timer_reclaim_task);
- taskqueue_drain(sc->tq, &sc->slow_intr_task);
+ if (sc->tq) {
+ taskqueue_drain(sc->tq, &sc->timer_reclaim_task);
+ taskqueue_drain(sc->tq, &sc->slow_intr_task);
+ }
}
/**
@@ -1852,12 +1863,13 @@ static void
bind_ithread(int cpu)
{
KASSERT(cpu < mp_ncpus, ("invalid cpu identifier"));
+#if 0
if (mp_ncpus > 1) {
mtx_lock_spin(&sched_lock);
sched_bind(curthread, cpu);
mtx_unlock_spin(&sched_lock);
}
-
+#endif
}
/**
OpenPOWER on IntegriCloud