示例#1
0
文件: zd_mac.c 项目: Tigrouzen/k1099
void zd_mac_clear(struct zd_mac *mac)
{
	flush_workqueue(zd_workqueue);
	zd_chip_clear(&mac->chip);
	ZD_ASSERT(!spin_is_locked(&mac->lock));
	ZD_MEMCLEAR(mac, sizeof(struct zd_mac));
}
示例#2
0
void zd_usb_clear(struct zd_usb *usb)
{
    usb_set_intfdata(usb->intf, NULL);
    usb_put_intf(usb->intf);
    ZD_MEMCLEAR(usb, sizeof(*usb));
    /* FIXME: usb_interrupt, usb_tx, usb_rx? */
}
示例#3
0
void zd_chip_clear(struct zd_chip *chip)
{
	ZD_ASSERT(!mutex_is_locked(&chip->mutex));
	zd_usb_clear(&chip->usb);
	zd_rf_clear(&chip->rf);
	mutex_destroy(&chip->mutex);
	ZD_MEMCLEAR(chip, sizeof(*chip));
}
示例#4
0
void zd_mac_clear(struct zd_mac *mac)
{
	flush_workqueue(zd_workqueue);
	skb_queue_purge(&mac->rx_queue);
	tasklet_kill(&mac->rx_tasklet);
	zd_chip_clear(&mac->chip);
	ZD_ASSERT(!spin_is_locked(&mac->lock));
	ZD_MEMCLEAR(mac, sizeof(struct zd_mac));
}
void zd_rf_clear(struct zd_rf *rf)
{
	if (rf->clear)
		rf->clear(rf);
	ZD_MEMCLEAR(rf, sizeof(*rf));
}