Print this page
5253 kmem_alloc/kmem_zalloc won't fail with KM_SLEEP
5254 getrbuf won't fail with KM_SLEEP

Split Close
Expand all
Collapse all
          --- old/usr/src/uts/common/io/usb/hcd/uhci/uhciutil.c
          +++ new/usr/src/uts/common/io/usb/hcd/uhci/uhciutil.c
↓ open down ↓ 3116 lines elided ↑ open up ↑
3117 3117          USB_DPRINTF_L4(PRINT_MASK_ATTA, uhcip->uhci_log_hdl,
3118 3118              "uhci_alloc_memory_for_tds: num_tds: 0x%x info: 0x%p "
3119 3119              "num_pools: %u", num_tds, (void *)info, info->num_pools);
3120 3120  
3121 3121          /* The host controller will be little endian */
3122 3122          dev_attr.devacc_attr_version            = DDI_DEVICE_ATTR_V0;
3123 3123          dev_attr.devacc_attr_endian_flags       = DDI_STRUCTURE_LE_ACC;
3124 3124          dev_attr.devacc_attr_dataorder          = DDI_STRICTORDER_ACC;
3125 3125  
3126 3126          /* Allocate the TD pool structures */
3127      -        if ((info->td_pools = kmem_zalloc(
3128      -            (sizeof (uhci_bulk_isoc_td_pool_t) * info->num_pools),
3129      -            KM_SLEEP)) == NULL) {
3130      -                USB_DPRINTF_L2(PRINT_MASK_ATTA, uhcip->uhci_log_hdl,
3131      -                    "uhci_alloc_memory_for_tds: alloc td_pools failed");
3132      -
3133      -                return (USB_FAILURE);
3134      -        }
     3127 +        info->td_pools = kmem_zalloc((sizeof (uhci_bulk_isoc_td_pool_t) *
     3128 +            info->num_pools), KM_SLEEP);
3135 3129  
3136 3130          for (i = 0; i < info->num_pools; i++) {
3137 3131                  if (info->num_pools == 1) {
3138 3132                          num = num_tds;
3139 3133                  } else if (i < (info->num_pools - 1)) {
3140 3134                          num = UHCI_MAX_TD_NUM_PER_POOL;
3141 3135                  } else {
3142 3136                          num = (num_tds % UHCI_MAX_TD_NUM_PER_POOL);
3143 3137                  }
3144 3138  
↓ open down ↓ 1892 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX