Lines Matching defs:card

157 	struct usb_card_rec *card;
161 if (!adapter || !adapter->card) {
162 pr_err("mwifiex adapter or card structure is not valid\n");
166 card = (struct usb_card_rec *)adapter->card;
167 if (card->rx_cmd_ep == context->ep)
168 atomic_dec(&card->rx_cmd_urb_pending);
170 atomic_dec(&card->rx_data_urb_pending);
178 if (card->rx_cmd_ep != context->ep)
199 if (card->rx_cmd_ep == context->ep)
207 if (card->rx_cmd_ep != context->ep)
220 if (card->rx_cmd_ep != context->ep)
227 if (card->rx_cmd_ep == context->ep)
232 if (card->rx_cmd_ep == context->ep) {
249 struct usb_card_rec *card = adapter->card;
256 if (context->ep == card->tx_cmd_ep) {
259 atomic_dec(&card->tx_cmd_urb_pending);
267 port = &card->port[i];
277 if (card->mc_resync_flag)
288 struct usb_card_rec *card = (struct usb_card_rec *)adapter->card;
291 if (card->rx_cmd_ep == ctx->ep) {
298 "%s: card removed/suspended, EP %d rx_cmd URB submit skipped\n",
303 if (card->rx_cmd_ep != ctx->ep) {
312 if (card->rx_cmd_ep == ctx->ep &&
313 card->rx_cmd_ep_type == USB_ENDPOINT_XFER_INT)
314 usb_fill_int_urb(ctx->urb, card->udev,
315 usb_rcvintpipe(card->udev, ctx->ep),
317 (void *)ctx, card->rx_cmd_interval);
319 usb_fill_bulk_urb(ctx->urb, card->udev,
320 usb_rcvbulkpipe(card->udev, ctx->ep),
324 if (card->rx_cmd_ep == ctx->ep)
325 atomic_inc(&card->rx_cmd_urb_pending);
327 atomic_inc(&card->rx_data_urb_pending);
334 if (card->rx_cmd_ep == ctx->ep)
335 atomic_dec(&card->rx_cmd_urb_pending);
337 atomic_dec(&card->rx_data_urb_pending);
345 static void mwifiex_usb_free(struct usb_card_rec *card)
350 if (atomic_read(&card->rx_cmd_urb_pending) && card->rx_cmd.urb)
351 usb_kill_urb(card->rx_cmd.urb);
353 usb_free_urb(card->rx_cmd.urb);
354 card->rx_cmd.urb = NULL;
356 if (atomic_read(&card->rx_data_urb_pending))
358 if (card->rx_data_list[i].urb)
359 usb_kill_urb(card->rx_data_list[i].urb);
362 usb_free_urb(card->rx_data_list[i].urb);
363 card->rx_data_list[i].urb = NULL;
367 port = &card->port[i];
375 usb_free_urb(card->tx_cmd.urb);
376 card->tx_cmd.urb = NULL;
382 * the card structure, initiates the device registration and initialization
392 struct usb_card_rec *card;
395 card = devm_kzalloc(&intf->dev, sizeof(*card), GFP_KERNEL);
396 if (!card)
399 init_completion(&card->fw_done);
413 card->usb_boot_state = USB8XXX_FW_DNLD;
419 card->usb_boot_state = USB8XXX_FW_READY;
423 card->usb_boot_state = USB8XXX_FW_DNLD;
427 card->udev = udev;
428 card->intf = intf;
442 card->rx_cmd_ep_type = usb_endpoint_type(epd);
443 card->rx_cmd_interval = epd->bInterval;
446 epd->bEndpointAddress, card->rx_cmd_ep_type);
447 card->rx_cmd_ep = usb_endpoint_num(epd);
448 atomic_set(&card->rx_cmd_urb_pending, 0);
456 card->rx_data_ep = usb_endpoint_num(epd);
457 atomic_set(&card->rx_data_urb_pending, 0);
465 card->port[0].tx_data_ep = usb_endpoint_num(epd);
466 atomic_set(&card->port[0].tx_data_urb_pending, 0);
475 card->port[1].tx_data_ep = usb_endpoint_num(epd);
476 atomic_set(&card->port[1].tx_data_urb_pending, 0);
482 card->tx_cmd_ep_type = usb_endpoint_type(epd);
483 card->tx_cmd_interval = epd->bInterval;
489 epd->bEndpointAddress, card->tx_cmd_ep_type);
490 card->tx_cmd_ep = usb_endpoint_num(epd);
491 atomic_set(&card->tx_cmd_urb_pending, 0);
492 card->bulk_out_maxpktsize =
497 switch (card->usb_boot_state) {
500 if (!card->rx_cmd_ep || !card->tx_cmd_ep)
502 if (card->bulk_out_maxpktsize == 0)
513 usb_set_intfdata(intf, card);
515 ret = mwifiex_add_card(card, &card->fw_done, &usb_ops,
516 MWIFIEX_USB, &card->udev->dev);
530 * methods. Failing that the kernel simply removes the whole card.
537 struct usb_card_rec *card = usb_get_intfdata(intf);
543 wait_for_completion(&card->fw_done);
545 adapter = card->adapter;
547 dev_err(&intf->dev, "card is not valid\n");
573 if (atomic_read(&card->rx_cmd_urb_pending) && card->rx_cmd.urb)
574 usb_kill_urb(card->rx_cmd.urb);
576 if (atomic_read(&card->rx_data_urb_pending))
578 if (card->rx_data_list[i].urb)
579 usb_kill_urb(card->rx_data_list[i].urb);
582 port = &card->port[i];
589 if (card->tx_cmd.urb)
590 usb_kill_urb(card->tx_cmd.urb);
597 * methods. Failing that the kernel simply removes the whole card.
604 struct usb_card_rec *card = usb_get_intfdata(intf);
608 if (!card->adapter) {
609 dev_err(&intf->dev, "%s: card->adapter is NULL\n",
613 adapter = card->adapter;
626 if (!atomic_read(&card->rx_data_urb_pending))
628 mwifiex_usb_submit_rx_urb(&card->rx_data_list[i],
631 if (!atomic_read(&card->rx_cmd_urb_pending)) {
632 card->rx_cmd.skb = dev_alloc_skb(MWIFIEX_RX_CMD_BUF_SIZE);
633 if (card->rx_cmd.skb)
634 mwifiex_usb_submit_rx_urb(&card->rx_cmd,
649 struct usb_card_rec *card = usb_get_intfdata(intf);
652 wait_for_completion(&card->fw_done);
654 adapter = card->adapter;
658 if (card->udev->state != USB_STATE_NOTATTACHED && !adapter->mfg_mode) {
667 "%s: removing card\n", __func__);
676 struct usb_card_rec *card = usb_get_intfdata(intf);
678 mwifiex_fw_dump_event(mwifiex_get_priv(card->adapter,
698 struct usb_card_rec *card = adapter->card;
701 if (!(*len % card->bulk_out_maxpktsize))
705 ret = usb_bulk_msg(card->udev, usb_sndbulkpipe(card->udev, ep), pbuf,
721 struct usb_card_rec *card = adapter->card;
725 ret = usb_bulk_msg(card->udev, usb_rcvbulkpipe(card->udev, ep), pbuf,
740 struct usb_card_rec *card = adapter->card;
757 card->port[i].block_status = false;
777 if (active_port == card->port[i].tx_data_ep)
778 card->port[i].block_status = false;
780 card->port[i].block_status = true;
787 struct usb_card_rec *card = priv->adapter->card;
791 if (priv->usb_port == card->port[idx].tx_data_ep)
792 return !card->port[idx].block_status;
800 struct usb_card_rec *card = adapter->card;
804 if (!card->port[i].block_status)
815 struct usb_card_rec *card = adapter->card;
824 if (ep == card->tx_cmd_ep &&
825 card->tx_cmd_ep_type == USB_ENDPOINT_XFER_INT)
826 usb_fill_int_urb(tx_urb, card->udev,
827 usb_sndintpipe(card->udev, ep), skb_send->data,
829 (void *)context, card->tx_cmd_interval);
831 usb_fill_bulk_urb(tx_urb, card->udev,
832 usb_sndbulkpipe(card->udev, ep),
838 if (ep == card->tx_cmd_ep)
839 atomic_inc(&card->tx_cmd_urb_pending);
843 if (ep != card->tx_cmd_ep &&
854 if (ep == card->tx_cmd_ep) {
855 atomic_dec(&card->tx_cmd_urb_pending);
1168 /* This function write a command/data packet to card. */
1173 struct usb_card_rec *card = adapter->card;
1191 if (ep == card->tx_cmd_ep) {
1192 context = &card->tx_cmd;
1196 if (ep == card->port[idx].tx_data_ep) {
1197 port = &card->port[idx];
1232 struct usb_card_rec *card = (struct usb_card_rec *)adapter->card;
1236 card->tx_cmd.adapter = adapter;
1237 card->tx_cmd.ep = card->tx_cmd_ep;
1239 card->tx_cmd.urb = usb_alloc_urb(0, GFP_KERNEL);
1240 if (!card->tx_cmd.urb)
1244 port = &card->port[i];
1275 struct usb_card_rec *card = (struct usb_card_rec *)adapter->card;
1278 card->rx_cmd.adapter = adapter;
1279 card->rx_cmd.ep = card->rx_cmd_ep;
1281 card->rx_cmd.urb = usb_alloc_urb(0, GFP_KERNEL);
1282 if (!card->rx_cmd.urb)
1285 card->rx_cmd.skb = dev_alloc_skb(MWIFIEX_RX_CMD_BUF_SIZE);
1286 if (!card->rx_cmd.skb)
1289 if (mwifiex_usb_submit_rx_urb(&card->rx_cmd, MWIFIEX_RX_CMD_BUF_SIZE))
1293 card->rx_data_list[i].adapter = adapter;
1294 card->rx_data_list[i].ep = card->rx_data_ep;
1296 card->rx_data_list[i].urb = usb_alloc_urb(0, GFP_KERNEL);
1297 if (!card->rx_data_list[i].urb)
1299 if (mwifiex_usb_submit_rx_urb(&card->rx_data_list[i],
1310 struct usb_card_rec *card = (struct usb_card_rec *)adapter->card;
1312 card->adapter = adapter;
1314 switch (le16_to_cpu(card->udev->descriptor.idProduct)) {
1349 struct usb_card_rec *card = (struct usb_card_rec *)adapter->card;
1355 port = &card->port[idx];
1370 struct usb_card_rec *card = (struct usb_card_rec *)adapter->card;
1372 mwifiex_usb_free(card);
1376 card->adapter = NULL;
1520 struct usb_card_rec *card = (struct usb_card_rec *)adapter->card;
1522 if (card->usb_boot_state == USB8XXX_FW_DNLD) {
1528 if (card->usb_boot_state == USB8XXX_FW_DNLD)
1541 struct usb_card_rec *card = (struct usb_card_rec *)adapter->card;
1543 skb_push(card->rx_cmd.skb, INTF_HEADER_LEN);
1544 if ((ep == card->rx_cmd_ep) &&
1545 (!atomic_read(&card->rx_cmd_urb_pending)))
1546 mwifiex_usb_submit_rx_urb(&card->rx_cmd,
1560 /* This function wakes up the card. */
1574 struct usb_card_rec *card = (struct usb_card_rec *)adapter->card;
1579 if (card->rx_data_list[i].skb)
1581 ctx = &card->rx_data_list[i];
1586 /* This function is called after the card has woken up. */