diff options
author | Krishna Yarlagadda <kyarlagadda@nvidia.com> | 2012-03-16 15:01:50 +0530 |
---|---|---|
committer | Simone Willett <swillett@nvidia.com> | 2012-04-03 10:38:54 -0700 |
commit | a6f76f1e275cc4df70ee2bf2d314c5ee4594d615 (patch) | |
tree | b6e1a337d155480b048fe7ce57d7b0b5d4b07358 /drivers/usb | |
parent | 00b222858e1efde63716f91f93c583003373034d (diff) |
usb: rndis: Avoid unwanted usb config access
Request complete may be called when there is no valid usb config
Avoid access to config when not required.
Bug 949543
Signed-off-by: Krishna Yarlagadda <kyarlagadda@nvidia.com>
Reviewed-on: http://git-master/r/91151
(cherry picked from commit 08bc68164d0bd90c84a8ea82f87f9f44e4341df2)
Change-Id: I5969144aaa9bcffddefa7933d43bfd3690814fba
Reviewed-on: http://git-master/r/93816
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Krishna Yarlagadda <kyarlagadda@nvidia.com>
Tested-by: Krishna Yarlagadda <kyarlagadda@nvidia.com>
Reviewed-by: Venkat Moganty <vmoganty@nvidia.com>
Diffstat (limited to 'drivers/usb')
-rw-r--r-- | drivers/usb/gadget/f_rndis.c | 11 |
1 files changed, 4 insertions, 7 deletions
diff --git a/drivers/usb/gadget/f_rndis.c b/drivers/usb/gadget/f_rndis.c index f5052cbf5735..f187b9eee9e5 100644 --- a/drivers/usb/gadget/f_rndis.c +++ b/drivers/usb/gadget/f_rndis.c @@ -391,7 +391,6 @@ static void rndis_response_available(void *_rndis) { struct f_rndis *rndis = _rndis; struct usb_request *req = rndis->notify_req; - struct usb_composite_dev *cdev = rndis->port.func.config->cdev; __le32 *data = req->buf; int status; @@ -409,14 +408,13 @@ static void rndis_response_available(void *_rndis) status = usb_ep_queue(rndis->notify, req, GFP_ATOMIC); if (status) { atomic_dec(&rndis->notify_count); - DBG(cdev, "notify/0 --> %d\n", status); + pr_err("notify/0 --> %d\n", status); } } static void rndis_response_complete(struct usb_ep *ep, struct usb_request *req) { struct f_rndis *rndis = req->context; - struct usb_composite_dev *cdev = rndis->port.func.config->cdev; int status = req->status; /* after TX: @@ -430,7 +428,7 @@ static void rndis_response_complete(struct usb_ep *ep, struct usb_request *req) atomic_set(&rndis->notify_count, 0); break; default: - DBG(cdev, "RNDIS %s response error %d, %d/%d\n", + pr_err("RNDIS %s response error %d, %d/%d\n", ep->name, status, req->actual, req->length); /* FALLTHROUGH */ @@ -446,7 +444,7 @@ static void rndis_response_complete(struct usb_ep *ep, struct usb_request *req) status = usb_ep_queue(rndis->notify, req, GFP_ATOMIC); if (status) { atomic_dec(&rndis->notify_count); - DBG(cdev, "notify/1 --> %d\n", status); + pr_err("notify/1 --> %d\n", status); } break; } @@ -455,14 +453,13 @@ static void rndis_response_complete(struct usb_ep *ep, struct usb_request *req) static void rndis_command_complete(struct usb_ep *ep, struct usb_request *req) { struct f_rndis *rndis = req->context; - struct usb_composite_dev *cdev = rndis->port.func.config->cdev; int status; /* received RNDIS command from USB_CDC_SEND_ENCAPSULATED_COMMAND */ // spin_lock(&dev->lock); status = rndis_msg_parser(rndis->config, (u8 *) req->buf); if (status < 0) - ERROR(cdev, "RNDIS command error %d, %d/%d\n", + pr_err("RNDIS command error %d, %d/%d\n", status, req->actual, req->length); // spin_unlock(&dev->lock); } |