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/xge/drv/xgell.c
          +++ new/usr/src/uts/common/io/xge/drv/xgell.c
↓ open down ↓ 2490 lines elided ↑ open up ↑
2491 2491  
2492 2492  static int
2493 2493  xgell_stats_get(queue_t *q, mblk_t *mp, caddr_t cp, cred_t *credp)
2494 2494  {
2495 2495          xgelldev_t *lldev = (xgelldev_t *)cp;
2496 2496          xge_hal_status_e status;
2497 2497          int count = 0, retsize;
2498 2498          char *buf;
2499 2499  
2500 2500          buf = kmem_alloc(XGELL_STATS_BUFSIZE, KM_SLEEP);
2501      -        if (buf == NULL) {
2502      -                return (ENOSPC);
2503      -        }
2504 2501  
2505 2502          status = xge_hal_aux_stats_tmac_read(lldev->devh, XGELL_STATS_BUFSIZE,
2506 2503              buf, &retsize);
2507 2504          if (status != XGE_HAL_OK) {
2508 2505                  kmem_free(buf, XGELL_STATS_BUFSIZE);
2509 2506                  xge_debug_ll(XGE_ERR, "tmac_read(): status %d", status);
2510 2507                  return (EINVAL);
2511 2508          }
2512 2509          count += retsize;
2513 2510  
↓ open down ↓ 43 lines elided ↑ open up ↑
2557 2554  
2558 2555  static int
2559 2556  xgell_pciconf_get(queue_t *q, mblk_t *mp, caddr_t cp, cred_t *credp)
2560 2557  {
2561 2558          xgelldev_t *lldev = (xgelldev_t *)cp;
2562 2559          xge_hal_status_e status;
2563 2560          int retsize;
2564 2561          char *buf;
2565 2562  
2566 2563          buf = kmem_alloc(XGELL_PCICONF_BUFSIZE, KM_SLEEP);
2567      -        if (buf == NULL) {
2568      -                return (ENOSPC);
2569      -        }
2570 2564          status = xge_hal_aux_pci_config_read(lldev->devh, XGELL_PCICONF_BUFSIZE,
2571 2565              buf, &retsize);
2572 2566          if (status != XGE_HAL_OK) {
2573 2567                  kmem_free(buf, XGELL_PCICONF_BUFSIZE);
2574 2568                  xge_debug_ll(XGE_ERR, "pci_config_read(): status %d", status);
2575 2569                  return (EINVAL);
2576 2570          }
2577 2571          *(buf + retsize - 1) = '\0'; /* remove last '\n' */
2578 2572          (void) mi_mpprintf(mp, "%s", buf);
2579 2573          kmem_free(buf, XGELL_PCICONF_BUFSIZE);
↓ open down ↓ 3 lines elided ↑ open up ↑
2583 2577  
2584 2578  static int
2585 2579  xgell_about_get(queue_t *q, mblk_t *mp, caddr_t cp, cred_t *credp)
2586 2580  {
2587 2581          xgelldev_t *lldev = (xgelldev_t *)cp;
2588 2582          xge_hal_status_e status;
2589 2583          int retsize;
2590 2584          char *buf;
2591 2585  
2592 2586          buf = kmem_alloc(XGELL_ABOUT_BUFSIZE, KM_SLEEP);
2593      -        if (buf == NULL) {
2594      -                return (ENOSPC);
2595      -        }
2596 2587          status = xge_hal_aux_about_read(lldev->devh, XGELL_ABOUT_BUFSIZE,
2597 2588              buf, &retsize);
2598 2589          if (status != XGE_HAL_OK) {
2599 2590                  kmem_free(buf, XGELL_ABOUT_BUFSIZE);
2600 2591                  xge_debug_ll(XGE_ERR, "about_read(): status %d", status);
2601 2592                  return (EINVAL);
2602 2593          }
2603 2594          *(buf + retsize - 1) = '\0'; /* remove last '\n' */
2604 2595          (void) mi_mpprintf(mp, "%s", buf);
2605 2596          kmem_free(buf, XGELL_ABOUT_BUFSIZE);
↓ open down ↓ 5 lines elided ↑ open up ↑
2611 2602  
2612 2603  static int
2613 2604  xgell_bar0_get(queue_t *q, mblk_t *mp, caddr_t cp, cred_t *credp)
2614 2605  {
2615 2606          xgelldev_t *lldev = (xgelldev_t *)cp;
2616 2607          xge_hal_status_e status;
2617 2608          int retsize;
2618 2609          char *buf;
2619 2610  
2620 2611          buf = kmem_alloc(XGELL_IOCTL_BUFSIZE, KM_SLEEP);
2621      -        if (buf == NULL) {
2622      -                return (ENOSPC);
2623      -        }
2624 2612          status = xge_hal_aux_bar0_read(lldev->devh, bar0_offset,
2625 2613              XGELL_IOCTL_BUFSIZE, buf, &retsize);
2626 2614          if (status != XGE_HAL_OK) {
2627 2615                  kmem_free(buf, XGELL_IOCTL_BUFSIZE);
2628 2616                  xge_debug_ll(XGE_ERR, "bar0_read(): status %d", status);
2629 2617                  return (EINVAL);
2630 2618          }
2631 2619          *(buf + retsize - 1) = '\0'; /* remove last '\n' */
2632 2620          (void) mi_mpprintf(mp, "%s", buf);
2633 2621          kmem_free(buf, XGELL_IOCTL_BUFSIZE);
↓ open down ↓ 22 lines elided ↑ open up ↑
2656 2644  
2657 2645          return (0);
2658 2646  }
2659 2647  
2660 2648  static int
2661 2649  xgell_debug_level_get(queue_t *q, mblk_t *mp, caddr_t cp, cred_t *credp)
2662 2650  {
2663 2651          char *buf;
2664 2652  
2665 2653          buf = kmem_alloc(XGELL_IOCTL_BUFSIZE, KM_SLEEP);
2666      -        if (buf == NULL) {
2667      -                return (ENOSPC);
2668      -        }
2669 2654          (void) mi_mpprintf(mp, "debug_level %d", xge_hal_driver_debug_level());
2670 2655          kmem_free(buf, XGELL_IOCTL_BUFSIZE);
2671 2656  
2672 2657          return (0);
2673 2658  }
2674 2659  
2675 2660  static int
2676 2661  xgell_debug_level_set(queue_t *q, mblk_t *mp, char *value, caddr_t cp,
2677 2662      cred_t *credp)
2678 2663  {
↓ open down ↓ 9 lines elided ↑ open up ↑
2688 2673  
2689 2674          return (0);
2690 2675  }
2691 2676  
2692 2677  static int
2693 2678  xgell_debug_module_mask_get(queue_t *q, mblk_t *mp, caddr_t cp, cred_t *credp)
2694 2679  {
2695 2680          char *buf;
2696 2681  
2697 2682          buf = kmem_alloc(XGELL_IOCTL_BUFSIZE, KM_SLEEP);
2698      -        if (buf == NULL) {
2699      -                return (ENOSPC);
2700      -        }
2701 2683          (void) mi_mpprintf(mp, "debug_module_mask 0x%08x",
2702 2684              xge_hal_driver_debug_module_mask());
2703 2685          kmem_free(buf, XGELL_IOCTL_BUFSIZE);
2704 2686  
2705 2687          return (0);
2706 2688  }
2707 2689  
2708 2690  static int
2709 2691  xgell_debug_module_mask_set(queue_t *q, mblk_t *mp, char *value, caddr_t cp,
2710 2692                              cred_t *credp)
↓ open down ↓ 18 lines elided ↑ open up ↑
2729 2711  
2730 2712  static int
2731 2713  xgell_devconfig_get(queue_t *q, mblk_t *mp, caddr_t cp, cred_t *credp)
2732 2714  {
2733 2715          xgelldev_t *lldev = (xgelldev_t *)(void *)cp;
2734 2716          xge_hal_status_e status;
2735 2717          int retsize;
2736 2718          char *buf;
2737 2719  
2738 2720          buf = kmem_alloc(XGELL_DEVCONF_BUFSIZE, KM_SLEEP);
2739      -        if (buf == NULL) {
2740      -                return (ENOSPC);
2741      -        }
2742 2721          status = xge_hal_aux_device_config_read(lldev->devh,
2743 2722              XGELL_DEVCONF_BUFSIZE, buf, &retsize);
2744 2723          if (status != XGE_HAL_OK) {
2745 2724                  kmem_free(buf, XGELL_DEVCONF_BUFSIZE);
2746 2725                  xge_debug_ll(XGE_ERR, "device_config_read(): status %d",
2747 2726                      status);
2748 2727                  return (EINVAL);
2749 2728          }
2750 2729          *(buf + retsize - 1) = '\0'; /* remove last '\n' */
2751 2730          (void) mi_mpprintf(mp, "%s", buf);
↓ open down ↓ 127 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX