Print this page
XXXX introduce drv_sectohz

Split Close
Expand all
Collapse all
          --- old/usr/src/uts/common/io/usb/clients/usbser/usbser.c
          +++ new/usr/src/uts/common/io/usb/clients/usbser/usbser.c
↓ open down ↓ 1761 lines elided ↑ open up ↑
1762 1762          clock_t until;
1763 1763          int     rval = USB_SUCCESS;
1764 1764  
1765 1765          /*
1766 1766           * port_wq_data_cnt indicates amount of data on the write queue,
1767 1767           * which becomes zero when all data is submitted to DSD. But usbser
1768 1768           * stays busy until it gets tx callback from DSD, signalling that
1769 1769           * data has been sent over USB. To be continued in the next comment...
1770 1770           */
1771 1771          until = ddi_get_lbolt() +
1772      -            drv_usectohz(USBSER_WQ_DRAIN_TIMEOUT * 1000000);
     1772 +            drv_sectohz(USBSER_WQ_DRAIN_TIMEOUT);
1773 1773  
1774 1774          while ((pp->port_wq_data_cnt > 0) && USBSER_PORT_IS_BUSY(pp)) {
1775 1775                  if ((rval = cv_timedwait_sig(&pp->port_act_cv, &pp->port_mutex,
1776 1776                      until)) <= 0) {
1777 1777  
1778 1778                          break;
1779 1779                  }
1780 1780          }
1781 1781  
1782 1782          /* don't drain if timed out or received a signal */
↓ open down ↓ 1688 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX