drivers/net/ethernet/wangxun/libwx/wx_vf.c

Source file repositories/reference/linux-study-clean/drivers/net/ethernet/wangxun/libwx/wx_vf.c

File Facts

System
Linux kernel
Corpus path
drivers/net/ethernet/wangxun/libwx/wx_vf.c
Extension
.c
Size
14873 bytes
Lines
600
Domain
Driver Families
Bucket
drivers/net
Inferred role
Driver Families: exported/initcall integration point
Status
integration implementation candidate

Why This File Exists

Repeatable hardware-adapter layer. Deep compatibility for every driver is out of scope; this atlas records patterns, probe lifecycles, bus glue, IRQ/DMA usage, and links back to core abstractions.

Dependency Surface

Detected Declarations

Annotated Snippet

if (msgbuf[0] & WX_VT_MSGTYPE_NACK) {
			/* msg is NACK, we must have lost CTS status */
			ret = -EBUSY;
			goto out;
		}
		/* no message, check link status */
		wx_check_physical_link(wx);
		goto out;
	default:
		break;
	}

	if (!(msgbuf[0] & WX_VT_MSGTYPE_CTS)) {
		/* msg is not CTS and is NACK we must have lost CTS status */
		if (msgbuf[0] & WX_VT_MSGTYPE_NACK)
			ret = -EBUSY;
		goto out;
	}

	/* the pf is talking, if we timed out in the past we reinit */
	if (!mbx->timeout) {
		ret = -EBUSY;
		goto out;
	}

out:
	return ret;
}

Annotation

Implementation Notes