Changeset 50234 in vbox for trunk/src/VBox/Devices/USB/solaris
- Timestamp:
- Jan 24, 2014 10:48:13 PM (11 years ago)
- svn:sync-xref-src-repo-rev:
- 91835
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Devices/USB/solaris/USBProxyDevice-solaris.cpp
r50232 r50234 494 494 SetConfigReq.bConfigValue = iCfg; 495 495 int rc = usbProxySolarisIOCtl(pDevSol, VBOXUSB_IOCTL_SET_CONFIG, &SetConfigReq, sizeof(SetConfigReq)); 496 if (RT_SUCCESS(rc)) 497 return true; 498 499 if (rc != VERR_VUSB_DEVICE_NOT_ATTACHED) 496 if ( RT_FAILURE(rc) 497 && rc != VERR_VUSB_DEVICE_NOT_ATTACHED) 500 498 LogRel((USBPROXY ":usbProxySolarisSetConfig failed to switch configuration. rc=%Rrc\n", rc)); 501 499 502 return false;500 return rc; 503 501 } 504 502 … … 514 512 static DECLCALLBACK(int) usbProxySolarisClaimInterface(PUSBPROXYDEV pProxyDev, int iIf) 515 513 { 516 return true;514 return VINF_SUCCESS; 517 515 } 518 516 … … 528 526 static DECLCALLBACK(int) usbProxySolarisReleaseInterface(PUSBPROXYDEV pProxyDev, int iIf) 529 527 { 530 return true;528 return VINF_SUCCESS; 531 529 } 532 530 … … 548 546 SetInterfaceReq.bAlternate = iAlt; 549 547 int rc = usbProxySolarisIOCtl(pDevSol, VBOXUSB_IOCTL_SET_INTERFACE, &SetInterfaceReq, sizeof(SetInterfaceReq)); 550 if (RT_SUCCESS(rc)) 551 return true; 552 553 if (rc != VERR_VUSB_DEVICE_NOT_ATTACHED) 548 if ( RT_FAILURE(rc) 549 && rc != VERR_VUSB_DEVICE_NOT_ATTACHED) 554 550 LogRel((USBPROXY ":usbProxySolarisSetInterface failed to set interface. rc=%Rrc\n", rc)); 555 551 556 return false;552 return rc; 557 553 } 558 554 … … 561 557 * Clears the halted endpoint 'EndPt'. 562 558 */ 563 static DECLCALLBACK( bool) usbProxySolarisClearHaltedEp(PUSBPROXYDEV pProxyDev, unsigned int EndPt)559 static DECLCALLBACK(int) usbProxySolarisClearHaltedEp(PUSBPROXYDEV pProxyDev, unsigned int EndPt) 564 560 { 565 561 LogFlowFunc((USBPROXY ":usbProxySolarisClearHaltedEp pProxyDev=%p EndPt=%#x\n", pProxyDev, EndPt)); … … 571 567 ClearEpReq.bEndpoint = EndPt; 572 568 int rc = usbProxySolarisIOCtl(pDevSol, VBOXUSB_IOCTL_CLEAR_EP, &ClearEpReq, sizeof(ClearEpReq)); 573 if (RT_SUCCESS(rc)) 574 return true; 575 576 if (rc != VERR_VUSB_DEVICE_NOT_ATTACHED) 569 if ( RT_FAILURE(rc) 570 && rc != VERR_VUSB_DEVICE_NOT_ATTACHED) 577 571 LogRel((USBPROXY ":usbProxySolarisClearHaltedEp failed! rc=%Rrc\n", rc)); 578 572 579 return false;573 return rc; 580 574 } 581 575 … … 596 590 { 597 591 LogRel((USBPROXY ":usbProxySolarisUrbQueue: Failed to allocate URB.\n")); 598 return false;592 return VERR_NO_MEMORY; 599 593 } 600 594 … … 632 626 LogFlow((USBPROXY ":usbProxySolarisUrbQueue success cbData=%d.\n", pUrb->cbData)); 633 627 pUrb->Dev.pvPrivate = pUrbSol; 634 return true;628 return VINF_SUCCESS; 635 629 } 636 630 … … 639 633 pProxyDev->pUsbIns->pszName, pUrb, pUrb->EndPt, UrbReq.bEndpoint, pUrb->enmType, pUrb->enmDir, pUrb->cbData, rc)); 640 634 641 return false;635 return rc; 642 636 } 643 637 … … 650 644 * on Solaris. So we just abort pending URBs on the pipe. 651 645 */ 652 static DECLCALLBACK( void) usbProxySolarisUrbCancel(PVUSBURB pUrb)646 static DECLCALLBACK(int) usbProxySolarisUrbCancel(PUSBPROXYDEV pProxyDev, PVUSBURB pUrb) 653 647 { 654 648 PUSBPROXYURBSOL pUrbSol = (PUSBPROXYURBSOL)pUrb->Dev.pvPrivate; 655 656 PUSBPROXYDEV pProxyDev = PDMINS_2_DATA(pUrb->pUsbIns, PUSBPROXYDEV);657 649 PUSBPROXYDEVSOL pDevSol = USBPROXYDEV_2_DATA(pProxyDev, PUSBPROXYDEVSOL); 658 650 AssertPtrReturnVoid(pDevSol); … … 662 654 /* Aborting the control pipe isn't supported, pretend success. */ 663 655 if (!pUrb->EndPt) 664 return ;656 return VINF_SUCCESS; 665 657 666 658 VBOXUSBREQ_ABORT_PIPE AbortPipeReq; 667 659 AbortPipeReq.bEndpoint = pUrb->EndPt | (pUrb->enmDir == VUSBDIRECTION_IN ? VUSB_DIR_TO_HOST : VUSB_DIR_TO_DEVICE); 668 660 int rc = usbProxySolarisIOCtl(pDevSol, VBOXUSB_IOCTL_ABORT_PIPE, &AbortPipeReq, sizeof(AbortPipeReq)); 669 if (RT_FAILURE(rc)) 670 { 671 if (rc != VERR_VUSB_DEVICE_NOT_ATTACHED) 672 LogRel((USBPROXY ":usbProxySolarisUrbCancel failed to abort pipe. rc=%Rrc\n", rc)); 673 return; 674 } 675 676 LogFlow((USBPROXY ":usbProxySolarisUrbCancel success.\n", rc)); 661 if ( RT_FAILURE(rc) 662 && rc != VERR_VUSB_DEVICE_NOT_ATTACHED) 663 LogRel((USBPROXY ":usbProxySolarisUrbCancel failed to abort pipe. rc=%Rrc\n", rc)); 664 665 LogFlow((USBPROXY ":usbProxySolarisUrbCancel: rc=%Rrc.\n", rc)); 666 return rc; 677 667 } 678 668
Note:
See TracChangeset
for help on using the changeset viewer.