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/fibre-channel/fca/qlc/ql_init.c
          +++ new/usr/src/uts/common/io/fibre-channel/fca/qlc/ql_init.c
↓ open down ↓ 3246 lines elided ↑ open up ↑
3247 3247          ql_dev_id_list_t        *list;
3248 3248          uint32_t                list_size;
3249 3249          uint16_t                index, loop_id;
3250 3250          ql_mbx_data_t           mr;
3251 3251          uint8_t                 retries = MAX_DEVICE_LOST_RETRY;
3252 3252  
3253 3253          QL_PRINT_3(CE_CONT, "(%d): started\n", ha->instance);
3254 3254  
3255 3255          list_size = sizeof (ql_dev_id_list_t) * DEVICE_LIST_ENTRIES;
3256 3256          list = kmem_zalloc(list_size, KM_SLEEP);
3257      -        if (list == NULL) {
3258      -                rval = QL_MEMORY_ALLOC_FAILED;
3259      -                EL(ha, "failed, rval = %xh\n", rval);
3260      -                return (rval);
3261      -        }
3262 3257  
3263 3258          do {
3264 3259                  /*
3265 3260                   * Get data from RISC code d_id list to init each device queue.
3266 3261                   */
3267 3262                  rval = ql_get_id_list(ha, (caddr_t)list, list_size, &mr);
3268 3263                  if (rval != QL_SUCCESS) {
3269 3264                          kmem_free(list, list_size);
3270 3265                          EL(ha, "failed, rval = %xh\n", rval);
3271 3266                          return (rval);
↓ open down ↓ 813 lines elided ↑ open up ↑
4085 4080          ql_mbx_iocb_t   *pkt;
4086 4081          uint8_t         bit;
4087 4082          int             rval;
4088 4083          uint32_t        pkt_size;
4089 4084  
4090 4085          QL_PRINT_10(CE_CONT, "(%d,%d): started\n", ha->instance, ha->vp_index);
4091 4086  
4092 4087          if (ha->vp_index != 0) {
4093 4088                  pkt_size = sizeof (ql_mbx_iocb_t);
4094 4089                  pkt = kmem_zalloc(pkt_size, KM_SLEEP);
4095      -                if (pkt == NULL) {
4096      -                        EL(ha, "failed, kmem_zalloc\n");
4097      -                        return (QL_MEMORY_ALLOC_FAILED);
4098      -                }
4099 4090  
4100 4091                  pkt->vpc.entry_type = VP_CONTROL_TYPE;
4101 4092                  pkt->vpc.entry_count = 1;
4102 4093                  pkt->vpc.command = cmd;
4103 4094                  pkt->vpc.vp_count = 1;
4104 4095                  bit = (uint8_t)(ha->vp_index - 1);
4105 4096                  pkt->vpc.vp_index[bit / 8] = (uint8_t)
4106 4097                      (pkt->vpc.vp_index[bit / 8] | BIT_0 << bit % 8);
4107 4098  
4108 4099                  rval = ql_issue_mbx_iocb(ha, (caddr_t)pkt, pkt_size);
↓ open down ↓ 32 lines elided ↑ open up ↑
4141 4132  ql_vport_modify(ql_adapter_state_t *ha, uint8_t cmd, uint8_t opt)
4142 4133  {
4143 4134          ql_mbx_iocb_t   *pkt;
4144 4135          int             rval;
4145 4136          uint32_t        pkt_size;
4146 4137  
4147 4138          QL_PRINT_10(CE_CONT, "(%d,%d): started\n", ha->instance, ha->vp_index);
4148 4139  
4149 4140          pkt_size = sizeof (ql_mbx_iocb_t);
4150 4141          pkt = kmem_zalloc(pkt_size, KM_SLEEP);
4151      -        if (pkt == NULL) {
4152      -                EL(ha, "failed, kmem_zalloc\n");
4153      -                return (QL_MEMORY_ALLOC_FAILED);
4154      -        }
4155 4142  
4156 4143          pkt->vpm.entry_type = VP_MODIFY_TYPE;
4157 4144          pkt->vpm.entry_count = 1;
4158 4145          pkt->vpm.command = cmd;
4159 4146          pkt->vpm.vp_count = 1;
4160 4147          pkt->vpm.first_vp_index = ha->vp_index;
4161 4148          pkt->vpm.first_options = opt;
4162 4149          bcopy(ha->loginparams.nport_ww_name.raw_wwn, pkt->vpm.first_port_name,
4163 4150              8);
4164 4151          bcopy(ha->loginparams.node_ww_name.raw_wwn, pkt->vpm.first_node_name,
↓ open down ↓ 189 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX