Page MenuHomeFreeBSD

D1707.id.diff
No OneTemporary

D1707.id.diff

Index: sys/dev/sfxge/sfxge_port.c
===================================================================
--- sys/dev/sfxge/sfxge_port.c
+++ sys/dev/sfxge/sfxge_port.c
@@ -48,7 +48,7 @@
unsigned int count;
int rc;
- SFXGE_PORT_LOCK(port);
+ SFXGE_PORT_LOCK_ASSERT_OWNED(port);
if (port->init_state != SFXGE_PORT_STARTED) {
rc = 0;
@@ -82,7 +82,6 @@
rc = ETIMEDOUT;
out:
- SFXGE_PORT_UNLOCK(port);
return (rc);
}
@@ -93,12 +92,16 @@
unsigned int id = arg2;
int rc;
+ SFXGE_PORT_LOCK(&sc->port);
if ((rc = sfxge_mac_stat_update(sc)) != 0)
- return (rc);
+ goto out;
- return (SYSCTL_OUT(req,
- (uint64_t *)sc->port.mac_stats.decode_buf + id,
- sizeof(uint64_t)));
+ rc = SYSCTL_OUT(req,
+ (uint64_t *)sc->port.mac_stats.decode_buf + id,
+ sizeof(uint64_t));
+out:
+ SFXGE_PORT_UNLOCK(&sc->port);
+ return (rc);
}
static void
@@ -453,7 +456,7 @@
unsigned int count;
int rc;
- SFXGE_PORT_LOCK(port);
+ SFXGE_PORT_LOCK_ASSERT_OWNED(port);
if (port->init_state != SFXGE_PORT_STARTED) {
rc = 0;
@@ -487,7 +490,6 @@
rc = ETIMEDOUT;
out:
- SFXGE_PORT_UNLOCK(port);
return (rc);
}
@@ -498,12 +500,16 @@
unsigned int id = arg2;
int rc;
+ SFXGE_PORT_LOCK(&sc->port);
if ((rc = sfxge_phy_stat_update(sc)) != 0)
- return (rc);
+ goto out;
- return (SYSCTL_OUT(req,
- (uint32_t *)sc->port.phy_stats.decode_buf + id,
- sizeof(uint32_t)));
+ rc = SYSCTL_OUT(req,
+ (uint32_t *)sc->port.phy_stats.decode_buf + id,
+ sizeof(uint32_t));
+out:
+ SFXGE_PORT_UNLOCK(&sc->port);
+ return (rc);
}
static void

File Metadata

Mime Type
text/plain
Expires
Thu, Jun 11, 9:31 PM (2 h, 7 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
33891548
Default Alt Text
D1707.id.diff (1 KB)

Event Timeline