Diff for /src/sys/bus/cam/scsi/scsi_cd.c between versions 1.12 and 1.13

version 1.12, 2004/03/12 03:23:19 version 1.13, 2004/03/15 02:27:56
Line 706  cdregister(struct cam_periph *periph, vo Line 706  cdregister(struct cam_periph *periph, vo
                 return(CAM_REQ_CMP_ERR);                  return(CAM_REQ_CMP_ERR);
         }          }
   
        softc = malloc(sizeof(*softc), M_DEVBUF, M_WAITOK | M_ZERO);        softc = malloc(sizeof(*softc), M_DEVBUF, M_INTWAIT | M_ZERO);
         LIST_INIT(&softc->pending_ccbs);          LIST_INIT(&softc->pending_ccbs);
         STAILQ_INIT(&softc->mode_queue);          STAILQ_INIT(&softc->mode_queue);
         softc->state = CD_STATE_PROBE;          softc->state = CD_STATE_PROBE;
Line 1987  cdioctl(dev_t dev, u_long cmd, caddr_t a Line 1987  cdioctl(dev_t dev, u_long cmd, caddr_t a
   
                         params.alloc_len = sizeof(union cd_mode_data_6_10);                          params.alloc_len = sizeof(union cd_mode_data_6_10);
                         params.mode_buf = malloc(params.alloc_len, M_TEMP,                          params.mode_buf = malloc(params.alloc_len, M_TEMP,
                                                 M_INTWAIT | M_ZERO);                                                 M_WAITOK | M_ZERO);
   
                         CAM_DEBUG(periph->path, CAM_DEBUG_SUBTRACE,                           CAM_DEBUG(periph->path, CAM_DEBUG_SUBTRACE, 
                                   ("trying to do CDIOCPLAYTRACKS\n"));                                    ("trying to do CDIOCPLAYTRACKS\n"));
Line 2077  cdioctl(dev_t dev, u_long cmd, caddr_t a Line 2077  cdioctl(dev_t dev, u_long cmd, caddr_t a
   
                         params.alloc_len = sizeof(union cd_mode_data_6_10);                          params.alloc_len = sizeof(union cd_mode_data_6_10);
                         params.mode_buf = malloc(params.alloc_len, M_TEMP,                          params.mode_buf = malloc(params.alloc_len, M_TEMP,
                                                 M_INTWAIT | M_ZERO);                                                 M_WAITOK | M_ZERO);
   
                         CAM_DEBUG(periph->path, CAM_DEBUG_SUBTRACE,                           CAM_DEBUG(periph->path, CAM_DEBUG_SUBTRACE, 
                                   ("trying to do CDIOCPLAYMSF\n"));                                    ("trying to do CDIOCPLAYMSF\n"));
Line 2116  cdioctl(dev_t dev, u_long cmd, caddr_t a Line 2116  cdioctl(dev_t dev, u_long cmd, caddr_t a
   
                         params.alloc_len = sizeof(union cd_mode_data_6_10);                          params.alloc_len = sizeof(union cd_mode_data_6_10);
                         params.mode_buf = malloc(params.alloc_len, M_TEMP,                          params.mode_buf = malloc(params.alloc_len, M_TEMP,
                                                 M_INTWAIT | M_ZERO);                                                 M_WAITOK | M_ZERO);
   
                         error = cdgetmode(periph, &params, AUDIO_PAGE);                          error = cdgetmode(periph, &params, AUDIO_PAGE);
                         if (error) {                          if (error) {
Line 2145  cdioctl(dev_t dev, u_long cmd, caddr_t a Line 2145  cdioctl(dev_t dev, u_long cmd, caddr_t a
                                   ("trying to do CDIOCREADSUBCHANNEL\n"));                                    ("trying to do CDIOCREADSUBCHANNEL\n"));
   
                         data = malloc(sizeof(struct cd_sub_channel_info),                           data = malloc(sizeof(struct cd_sub_channel_info), 
                                      M_TEMP, M_INTWAIT);                                      M_TEMP, M_WAITOK);
   
                         if ((len > sizeof(struct cd_sub_channel_info)) ||                          if ((len > sizeof(struct cd_sub_channel_info)) ||
                             (len < sizeof(struct cd_sub_channel_header))) {                              (len < sizeof(struct cd_sub_channel_header))) {
Line 2189  cdioctl(dev_t dev, u_long cmd, caddr_t a Line 2189  cdioctl(dev_t dev, u_long cmd, caddr_t a
                                   ("trying to do CDIOREADTOCHEADER\n"));                                    ("trying to do CDIOREADTOCHEADER\n"));
   
                         th = malloc(sizeof(struct ioc_toc_header), M_TEMP,                          th = malloc(sizeof(struct ioc_toc_header), M_TEMP,
                                    M_INTWAIT);                                    M_WAITOK);
                         error = cdreadtoc(periph, 0, 0, (u_int8_t *)th,                           error = cdreadtoc(periph, 0, 0, (u_int8_t *)th, 
                                           sizeof (*th), /*sense_flags*/0);                                            sizeof (*th), /*sense_flags*/0);
                         if (error) {                          if (error) {
Line 2222  cdioctl(dev_t dev, u_long cmd, caddr_t a Line 2222  cdioctl(dev_t dev, u_long cmd, caddr_t a
                         CAM_DEBUG(periph->path, CAM_DEBUG_SUBTRACE,                           CAM_DEBUG(periph->path, CAM_DEBUG_SUBTRACE, 
                                   ("trying to do CDIOREADTOCENTRYS\n"));                                    ("trying to do CDIOREADTOCENTRYS\n"));
   
                        data = malloc(sizeof(*data), M_TEMP, M_INTWAIT);                        data = malloc(sizeof(*data), M_TEMP, M_WAITOK);
                        lead = malloc(sizeof(*lead), M_TEMP, M_INTWAIT);                        lead = malloc(sizeof(*lead), M_TEMP, M_WAITOK);
   
                         if (te->data_len < sizeof(struct cd_toc_entry)                          if (te->data_len < sizeof(struct cd_toc_entry)
                          || (te->data_len % sizeof(struct cd_toc_entry)) != 0                           || (te->data_len % sizeof(struct cd_toc_entry)) != 0
Line 2343  cdioctl(dev_t dev, u_long cmd, caddr_t a Line 2343  cdioctl(dev_t dev, u_long cmd, caddr_t a
                         CAM_DEBUG(periph->path, CAM_DEBUG_SUBTRACE,                           CAM_DEBUG(periph->path, CAM_DEBUG_SUBTRACE, 
                                   ("trying to do CDIOREADTOCENTRY\n"));                                    ("trying to do CDIOREADTOCENTRY\n"));
   
                        data = malloc(sizeof(*data), M_TEMP, M_INTWAIT);                        data = malloc(sizeof(*data), M_TEMP, M_WAITOK);
   
                         if (te->address_format != CD_MSF_FORMAT                          if (te->address_format != CD_MSF_FORMAT
                             && te->address_format != CD_LBA_FORMAT) {                              && te->address_format != CD_LBA_FORMAT) {
Line 2410  cdioctl(dev_t dev, u_long cmd, caddr_t a Line 2410  cdioctl(dev_t dev, u_long cmd, caddr_t a
   
                         params.alloc_len = sizeof(union cd_mode_data_6_10);                          params.alloc_len = sizeof(union cd_mode_data_6_10);
                         params.mode_buf = malloc(params.alloc_len, M_TEMP,                           params.mode_buf = malloc(params.alloc_len, M_TEMP, 
                                                 M_INTWAIT | M_ZERO);                                                 M_WAITOK | M_ZERO);
                         error = cdgetmode(periph, &params, AUDIO_PAGE);                          error = cdgetmode(periph, &params, AUDIO_PAGE);
                         if (error) {                          if (error) {
                                 free(params.mode_buf, M_TEMP);                                  free(params.mode_buf, M_TEMP);
Line 2439  cdioctl(dev_t dev, u_long cmd, caddr_t a Line 2439  cdioctl(dev_t dev, u_long cmd, caddr_t a
   
                         params.alloc_len = sizeof(union cd_mode_data_6_10);                          params.alloc_len = sizeof(union cd_mode_data_6_10);
                         params.mode_buf = malloc(params.alloc_len, M_TEMP,                           params.mode_buf = malloc(params.alloc_len, M_TEMP, 
                                                 M_INTWAIT | M_ZERO);                                                 M_WAITOK | M_ZERO);
                         error = cdgetmode(periph, &params, AUDIO_PAGE);                          error = cdgetmode(periph, &params, AUDIO_PAGE);
                         if (error) {                          if (error) {
                                 free(params.mode_buf, M_TEMP);                                  free(params.mode_buf, M_TEMP);
Line 2467  cdioctl(dev_t dev, u_long cmd, caddr_t a Line 2467  cdioctl(dev_t dev, u_long cmd, caddr_t a
   
                         params.alloc_len = sizeof(union cd_mode_data_6_10);                          params.alloc_len = sizeof(union cd_mode_data_6_10);
                         params.mode_buf = malloc(params.alloc_len, M_TEMP,                           params.mode_buf = malloc(params.alloc_len, M_TEMP, 
                                                 M_INTWAIT | M_ZERO);                                                 M_WAITOK | M_ZERO);
                         error = cdgetmode(periph, &params, AUDIO_PAGE);                          error = cdgetmode(periph, &params, AUDIO_PAGE);
                         if (error) {                          if (error) {
                                 free(params.mode_buf, M_TEMP);                                  free(params.mode_buf, M_TEMP);
Line 2497  cdioctl(dev_t dev, u_long cmd, caddr_t a Line 2497  cdioctl(dev_t dev, u_long cmd, caddr_t a
   
                         params.alloc_len = sizeof(union cd_mode_data_6_10);                          params.alloc_len = sizeof(union cd_mode_data_6_10);
                         params.mode_buf = malloc(params.alloc_len, M_TEMP,                          params.mode_buf = malloc(params.alloc_len, M_TEMP,
                                                 M_INTWAIT | M_ZERO);                                                 M_WAITOK | M_ZERO);
                         error = cdgetmode(periph, &params, AUDIO_PAGE);                          error = cdgetmode(periph, &params, AUDIO_PAGE);
                         if (error) {                          if (error) {
                                 free(params.mode_buf, M_TEMP);                                  free(params.mode_buf, M_TEMP);
Line 2525  cdioctl(dev_t dev, u_long cmd, caddr_t a Line 2525  cdioctl(dev_t dev, u_long cmd, caddr_t a
   
                         params.alloc_len = sizeof(union cd_mode_data_6_10);                          params.alloc_len = sizeof(union cd_mode_data_6_10);
                         params.mode_buf = malloc(params.alloc_len, M_TEMP,                          params.mode_buf = malloc(params.alloc_len, M_TEMP,
                                                 M_INTWAIT | M_ZERO);                                                 M_WAITOK | M_ZERO);
                         error = cdgetmode(periph, &params, AUDIO_PAGE);                          error = cdgetmode(periph, &params, AUDIO_PAGE);
                         if (error) {                          if (error) {
                                 free(params.mode_buf, M_TEMP);                                  free(params.mode_buf, M_TEMP);
Line 2553  cdioctl(dev_t dev, u_long cmd, caddr_t a Line 2553  cdioctl(dev_t dev, u_long cmd, caddr_t a
   
                         params.alloc_len = sizeof(union cd_mode_data_6_10);                          params.alloc_len = sizeof(union cd_mode_data_6_10);
                         params.mode_buf = malloc(params.alloc_len, M_TEMP,                          params.mode_buf = malloc(params.alloc_len, M_TEMP,
                                                 M_INTWAIT | M_ZERO);                                                 M_WAITOK | M_ZERO);
                         error = cdgetmode(periph, &params, AUDIO_PAGE);                          error = cdgetmode(periph, &params, AUDIO_PAGE);
                         if (error) {                          if (error) {
                                 free(&params, M_TEMP);                                  free(&params, M_TEMP);
Line 2579  cdioctl(dev_t dev, u_long cmd, caddr_t a Line 2579  cdioctl(dev_t dev, u_long cmd, caddr_t a
   
                         params.alloc_len = sizeof(union cd_mode_data_6_10);                          params.alloc_len = sizeof(union cd_mode_data_6_10);
                         params.mode_buf = malloc(params.alloc_len, M_TEMP,                          params.mode_buf = malloc(params.alloc_len, M_TEMP,
                                                 M_INTWAIT | M_ZERO);                                                 M_WAITOK | M_ZERO);
                                                   
                         error = cdgetmode(periph, &params, AUDIO_PAGE);                          error = cdgetmode(periph, &params, AUDIO_PAGE);
                         if (error) {                          if (error) {
Line 2606  cdioctl(dev_t dev, u_long cmd, caddr_t a Line 2606  cdioctl(dev_t dev, u_long cmd, caddr_t a
   
                         params.alloc_len = sizeof(union cd_mode_data_6_10);                          params.alloc_len = sizeof(union cd_mode_data_6_10);
                         params.mode_buf = malloc(params.alloc_len, M_TEMP,                          params.mode_buf = malloc(params.alloc_len, M_TEMP,
                                                 M_INTWAIT | M_ZERO);                                                 M_WAITOK | M_ZERO);
   
                         error = cdgetmode(periph, &params, AUDIO_PAGE);                          error = cdgetmode(periph, &params, AUDIO_PAGE);
                         if (error) {                          if (error) {

Removed from v.1.12  
changed lines
  Added in v.1.13