diff options
author | Waldemar Rymarkiewicz <waldemar.rymarkiewicz@tieto.com> | 2013-04-03 02:02:11 -0400 |
---|---|---|
committer | Samuel Ortiz <sameo@linux.intel.com> | 2013-04-11 10:29:06 -0400 |
commit | f87bc9fb62780970ff437e9d556b143cbe9f6528 (patch) | |
tree | 1eb22ef41ae3ba2d9ff83d7d74c4852358b67220 /drivers | |
parent | d5590bba37f3c7d496195648532d5313abb43891 (diff) |
NFC: pn533: Move wq_in_error to cmd context
Rename 'wq_in_error' field to more relevant 'status'
and move it to cmd context struct.
Signed-off-by: Waldemar Rymarkiewicz <waldemar.rymarkiewicz@tieto.com>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/nfc/pn533.c | 24 |
1 files changed, 12 insertions, 12 deletions
diff --git a/drivers/nfc/pn533.c b/drivers/nfc/pn533.c index 326cefbfb14f..edee0d55d8f4 100644 --- a/drivers/nfc/pn533.c +++ b/drivers/nfc/pn533.c | |||
@@ -331,7 +331,6 @@ struct pn533 { | |||
331 | struct list_head cmd_queue; | 331 | struct list_head cmd_queue; |
332 | struct pn533_cmd *cmd; | 332 | struct pn533_cmd *cmd; |
333 | u8 cmd_pending; | 333 | u8 cmd_pending; |
334 | int wq_in_error; | ||
335 | struct mutex cmd_lock; /* protects cmd queue */ | 334 | struct mutex cmd_lock; /* protects cmd queue */ |
336 | 335 | ||
337 | void *cmd_complete_mi_arg; | 336 | void *cmd_complete_mi_arg; |
@@ -357,6 +356,7 @@ struct pn533 { | |||
357 | struct pn533_cmd { | 356 | struct pn533_cmd { |
358 | struct list_head queue; | 357 | struct list_head queue; |
359 | u8 code; | 358 | u8 code; |
359 | int status; | ||
360 | struct sk_buff *req; | 360 | struct sk_buff *req; |
361 | struct sk_buff *resp; | 361 | struct sk_buff *resp; |
362 | int resp_len; | 362 | int resp_len; |
@@ -506,8 +506,11 @@ static bool pn533_rx_frame_is_cmd_response(struct pn533 *dev, void *frame) | |||
506 | static void pn533_recv_response(struct urb *urb) | 506 | static void pn533_recv_response(struct urb *urb) |
507 | { | 507 | { |
508 | struct pn533 *dev = urb->context; | 508 | struct pn533 *dev = urb->context; |
509 | struct pn533_cmd *cmd = dev->cmd; | ||
509 | u8 *in_frame; | 510 | u8 *in_frame; |
510 | 511 | ||
512 | cmd->status = urb->status; | ||
513 | |||
511 | switch (urb->status) { | 514 | switch (urb->status) { |
512 | case 0: | 515 | case 0: |
513 | break; /* success */ | 516 | break; /* success */ |
@@ -516,13 +519,11 @@ static void pn533_recv_response(struct urb *urb) | |||
516 | nfc_dev_dbg(&dev->interface->dev, | 519 | nfc_dev_dbg(&dev->interface->dev, |
517 | "The urb has been canceled (status %d)", | 520 | "The urb has been canceled (status %d)", |
518 | urb->status); | 521 | urb->status); |
519 | dev->wq_in_error = urb->status; | ||
520 | goto sched_wq; | 522 | goto sched_wq; |
521 | case -ESHUTDOWN: | 523 | case -ESHUTDOWN: |
522 | default: | 524 | default: |
523 | nfc_dev_err(&dev->interface->dev, | 525 | nfc_dev_err(&dev->interface->dev, |
524 | "Urb failure (status %d)", urb->status); | 526 | "Urb failure (status %d)", urb->status); |
525 | dev->wq_in_error = urb->status; | ||
526 | goto sched_wq; | 527 | goto sched_wq; |
527 | } | 528 | } |
528 | 529 | ||
@@ -534,19 +535,17 @@ static void pn533_recv_response(struct urb *urb) | |||
534 | 535 | ||
535 | if (!dev->ops->rx_is_frame_valid(in_frame)) { | 536 | if (!dev->ops->rx_is_frame_valid(in_frame)) { |
536 | nfc_dev_err(&dev->interface->dev, "Received an invalid frame"); | 537 | nfc_dev_err(&dev->interface->dev, "Received an invalid frame"); |
537 | dev->wq_in_error = -EIO; | 538 | cmd->status = -EIO; |
538 | goto sched_wq; | 539 | goto sched_wq; |
539 | } | 540 | } |
540 | 541 | ||
541 | if (!pn533_rx_frame_is_cmd_response(dev, in_frame)) { | 542 | if (!pn533_rx_frame_is_cmd_response(dev, in_frame)) { |
542 | nfc_dev_err(&dev->interface->dev, | 543 | nfc_dev_err(&dev->interface->dev, |
543 | "It it not the response to the last command"); | 544 | "It it not the response to the last command"); |
544 | dev->wq_in_error = -EIO; | 545 | cmd->status = -EIO; |
545 | goto sched_wq; | 546 | goto sched_wq; |
546 | } | 547 | } |
547 | 548 | ||
548 | dev->wq_in_error = 0; | ||
549 | |||
550 | sched_wq: | 549 | sched_wq: |
551 | queue_work(dev->wq, &dev->cmd_complete_work); | 550 | queue_work(dev->wq, &dev->cmd_complete_work); |
552 | } | 551 | } |
@@ -561,9 +560,12 @@ static int pn533_submit_urb_for_response(struct pn533 *dev, gfp_t flags) | |||
561 | static void pn533_recv_ack(struct urb *urb) | 560 | static void pn533_recv_ack(struct urb *urb) |
562 | { | 561 | { |
563 | struct pn533 *dev = urb->context; | 562 | struct pn533 *dev = urb->context; |
563 | struct pn533_cmd *cmd = dev->cmd; | ||
564 | struct pn533_std_frame *in_frame; | 564 | struct pn533_std_frame *in_frame; |
565 | int rc; | 565 | int rc; |
566 | 566 | ||
567 | cmd->status = urb->status; | ||
568 | |||
567 | switch (urb->status) { | 569 | switch (urb->status) { |
568 | case 0: | 570 | case 0: |
569 | break; /* success */ | 571 | break; /* success */ |
@@ -572,13 +574,11 @@ static void pn533_recv_ack(struct urb *urb) | |||
572 | nfc_dev_dbg(&dev->interface->dev, | 574 | nfc_dev_dbg(&dev->interface->dev, |
573 | "The urb has been stopped (status %d)", | 575 | "The urb has been stopped (status %d)", |
574 | urb->status); | 576 | urb->status); |
575 | dev->wq_in_error = urb->status; | ||
576 | goto sched_wq; | 577 | goto sched_wq; |
577 | case -ESHUTDOWN: | 578 | case -ESHUTDOWN: |
578 | default: | 579 | default: |
579 | nfc_dev_err(&dev->interface->dev, | 580 | nfc_dev_err(&dev->interface->dev, |
580 | "Urb failure (status %d)", urb->status); | 581 | "Urb failure (status %d)", urb->status); |
581 | dev->wq_in_error = urb->status; | ||
582 | goto sched_wq; | 582 | goto sched_wq; |
583 | } | 583 | } |
584 | 584 | ||
@@ -586,7 +586,7 @@ static void pn533_recv_ack(struct urb *urb) | |||
586 | 586 | ||
587 | if (!pn533_std_rx_frame_is_ack(in_frame)) { | 587 | if (!pn533_std_rx_frame_is_ack(in_frame)) { |
588 | nfc_dev_err(&dev->interface->dev, "Received an invalid ack"); | 588 | nfc_dev_err(&dev->interface->dev, "Received an invalid ack"); |
589 | dev->wq_in_error = -EIO; | 589 | cmd->status = -EIO; |
590 | goto sched_wq; | 590 | goto sched_wq; |
591 | } | 591 | } |
592 | 592 | ||
@@ -594,7 +594,7 @@ static void pn533_recv_ack(struct urb *urb) | |||
594 | if (rc) { | 594 | if (rc) { |
595 | nfc_dev_err(&dev->interface->dev, | 595 | nfc_dev_err(&dev->interface->dev, |
596 | "usb_submit_urb failed with result %d", rc); | 596 | "usb_submit_urb failed with result %d", rc); |
597 | dev->wq_in_error = rc; | 597 | cmd->status = rc; |
598 | goto sched_wq; | 598 | goto sched_wq; |
599 | } | 599 | } |
600 | 600 | ||
@@ -676,7 +676,7 @@ static void pn533_build_cmd_frame(struct pn533 *dev, u8 cmd_code, | |||
676 | static int pn533_send_async_complete(struct pn533 *dev) | 676 | static int pn533_send_async_complete(struct pn533 *dev) |
677 | { | 677 | { |
678 | struct pn533_cmd *cmd = dev->cmd; | 678 | struct pn533_cmd *cmd = dev->cmd; |
679 | int status = dev->wq_in_error; | 679 | int status = cmd->status; |
680 | 680 | ||
681 | struct sk_buff *req = cmd->req; | 681 | struct sk_buff *req = cmd->req; |
682 | struct sk_buff *resp = cmd->resp; | 682 | struct sk_buff *resp = cmd->resp; |