tws.c (240900) | tws.c (241753) |
---|---|
1/* 2 * Copyright (c) 2010, LSI Corp. 3 * All rights reserved. 4 * Author : Manjunath Ranganathaiah 5 * Support: freebsdraid@lsi.com 6 * 7 * Redistribution and use in source and binary forms, with or without 8 * modification, are permitted provided that the following conditions --- 19 unchanged lines hidden (view full) --- 28 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 29 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 30 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN 31 * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 32 * POSSIBILITY OF SUCH DAMAGE. 33 */ 34 35#include <sys/cdefs.h> | 1/* 2 * Copyright (c) 2010, LSI Corp. 3 * All rights reserved. 4 * Author : Manjunath Ranganathaiah 5 * Support: freebsdraid@lsi.com 6 * 7 * Redistribution and use in source and binary forms, with or without 8 * modification, are permitted provided that the following conditions --- 19 unchanged lines hidden (view full) --- 28 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 29 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 30 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN 31 * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 32 * POSSIBILITY OF SUCH DAMAGE. 33 */ 34 35#include <sys/cdefs.h> |
36__FBSDID("$FreeBSD: head/sys/dev/tws/tws.c 240900 2012-09-24 21:40:22Z jimharris $"); | 36__FBSDID("$FreeBSD: head/sys/dev/tws/tws.c 241753 2012-10-19 22:07:40Z delphij $"); |
37 38#include <dev/tws/tws.h> 39#include <dev/tws/tws_services.h> 40#include <dev/tws/tws_hdm.h> 41 42#include <cam/cam.h> 43#include <cam/cam_ccb.h> 44 --- 355 unchanged lines hidden (view full) --- 400 if (bus_release_resource(sc->tws_dev, 401 SYS_RES_MEMORY, sc->reg_res_id, sc->reg_res)) 402 TWS_TRACE(sc, "bus release mem resource", 0, sc->reg_res_id); 403 } 404 405 free(sc->reqs, M_TWS); 406 free(sc->sense_bufs, M_TWS); 407 free(sc->scan_ccb, M_TWS); | 37 38#include <dev/tws/tws.h> 39#include <dev/tws/tws_services.h> 40#include <dev/tws/tws_hdm.h> 41 42#include <cam/cam.h> 43#include <cam/cam_ccb.h> 44 --- 355 unchanged lines hidden (view full) --- 400 if (bus_release_resource(sc->tws_dev, 401 SYS_RES_MEMORY, sc->reg_res_id, sc->reg_res)) 402 TWS_TRACE(sc, "bus release mem resource", 0, sc->reg_res_id); 403 } 404 405 free(sc->reqs, M_TWS); 406 free(sc->sense_bufs, M_TWS); 407 free(sc->scan_ccb, M_TWS); |
408 if (sc->ioctl_data_mem) 409 bus_dmamem_free(sc->data_tag, sc->ioctl_data_mem, sc->ioctl_data_map); |
|
408 free(sc->aen_q.q, M_TWS); 409 free(sc->trace_q.q, M_TWS); 410 mtx_destroy(&sc->q_lock); 411 mtx_destroy(&sc->sim_lock); 412 mtx_destroy(&sc->gen_lock); 413 mtx_destroy(&sc->io_lock); 414 destroy_dev(sc->tws_cdev); 415 sysctl_ctx_free(&sc->tws_clist); --- 188 unchanged lines hidden (view full) --- 604 TWS_TRACE_DEBUG(sc, "sense malloc failed", 0, sc->is64bit); 605 return(ENOMEM); 606 } 607 sc->scan_ccb = malloc(sizeof(union ccb), M_TWS, M_WAITOK | M_ZERO); 608 if ( sc->scan_ccb == NULL ) { 609 TWS_TRACE_DEBUG(sc, "ccb malloc failed", 0, sc->is64bit); 610 return(ENOMEM); 611 } | 410 free(sc->aen_q.q, M_TWS); 411 free(sc->trace_q.q, M_TWS); 412 mtx_destroy(&sc->q_lock); 413 mtx_destroy(&sc->sim_lock); 414 mtx_destroy(&sc->gen_lock); 415 mtx_destroy(&sc->io_lock); 416 destroy_dev(sc->tws_cdev); 417 sysctl_ctx_free(&sc->tws_clist); --- 188 unchanged lines hidden (view full) --- 606 TWS_TRACE_DEBUG(sc, "sense malloc failed", 0, sc->is64bit); 607 return(ENOMEM); 608 } 609 sc->scan_ccb = malloc(sizeof(union ccb), M_TWS, M_WAITOK | M_ZERO); 610 if ( sc->scan_ccb == NULL ) { 611 TWS_TRACE_DEBUG(sc, "ccb malloc failed", 0, sc->is64bit); 612 return(ENOMEM); 613 } |
614 if (bus_dmamem_alloc(sc->data_tag, (void **)&sc->ioctl_data_mem, 615 (BUS_DMA_NOWAIT | BUS_DMA_ZERO), &sc->ioctl_data_map)) { 616 device_printf(sc->tws_dev, "Cannot allocate ioctl data mem\n"); 617 return(ENOMEM); 618 } |
|
612 613 if ( !tws_ctlr_ready(sc) ) 614 if( !tws_ctlr_reset(sc) ) 615 return(FAILURE); 616 617 bzero(&sc->stats, sizeof(struct tws_stats)); 618 tws_init_qs(sc); 619 tws_turn_off_interrupts(sc); --- 285 unchanged lines hidden --- | 619 620 if ( !tws_ctlr_ready(sc) ) 621 if( !tws_ctlr_reset(sc) ) 622 return(FAILURE); 623 624 bzero(&sc->stats, sizeof(struct tws_stats)); 625 tws_init_qs(sc); 626 tws_turn_off_interrupts(sc); --- 285 unchanged lines hidden --- |