diff options
Diffstat (limited to 'drivers/net/wireless/ray_cs.c')
| -rw-r--r-- | drivers/net/wireless/ray_cs.c | 357 |
1 files changed, 173 insertions, 184 deletions
diff --git a/drivers/net/wireless/ray_cs.c b/drivers/net/wireless/ray_cs.c index 1c88c2ea59aa..5b8e3e4cdd9f 100644 --- a/drivers/net/wireless/ray_cs.c +++ b/drivers/net/wireless/ray_cs.c | |||
| @@ -71,25 +71,7 @@ typedef u_char mac_addr[ETH_ALEN]; /* Hardware address */ | |||
| 71 | #include "rayctl.h" | 71 | #include "rayctl.h" |
| 72 | #include "ray_cs.h" | 72 | #include "ray_cs.h" |
| 73 | 73 | ||
| 74 | /* All the PCMCIA modules use PCMCIA_DEBUG to control debugging. If | ||
| 75 | you do not define PCMCIA_DEBUG at all, all the debug code will be | ||
| 76 | left out. If you compile with PCMCIA_DEBUG=0, the debug code will | ||
| 77 | be present but disabled -- but it can then be enabled for specific | ||
| 78 | modules at load time with a 'pc_debug=#' option to insmod. | ||
| 79 | */ | ||
| 80 | 74 | ||
| 81 | #ifdef RAYLINK_DEBUG | ||
| 82 | #define PCMCIA_DEBUG RAYLINK_DEBUG | ||
| 83 | #endif | ||
| 84 | #ifdef PCMCIA_DEBUG | ||
| 85 | static int ray_debug; | ||
| 86 | static int pc_debug = PCMCIA_DEBUG; | ||
| 87 | module_param(pc_debug, int, 0); | ||
| 88 | /* #define DEBUG(n, args...) if (pc_debug>(n)) printk(KERN_DEBUG args); */ | ||
| 89 | #define DEBUG(n, args...) if (pc_debug > (n)) printk(args); | ||
| 90 | #else | ||
| 91 | #define DEBUG(n, args...) | ||
| 92 | #endif | ||
| 93 | /** Prototypes based on PCMCIA skeleton driver *******************************/ | 75 | /** Prototypes based on PCMCIA skeleton driver *******************************/ |
| 94 | static int ray_config(struct pcmcia_device *link); | 76 | static int ray_config(struct pcmcia_device *link); |
| 95 | static void ray_release(struct pcmcia_device *link); | 77 | static void ray_release(struct pcmcia_device *link); |
| @@ -325,7 +307,7 @@ static int ray_probe(struct pcmcia_device *p_dev) | |||
| 325 | ray_dev_t *local; | 307 | ray_dev_t *local; |
| 326 | struct net_device *dev; | 308 | struct net_device *dev; |
| 327 | 309 | ||
| 328 | DEBUG(1, "ray_attach()\n"); | 310 | dev_dbg(&p_dev->dev, "ray_attach()\n"); |
| 329 | 311 | ||
| 330 | /* Allocate space for private device-specific data */ | 312 | /* Allocate space for private device-specific data */ |
| 331 | dev = alloc_etherdev(sizeof(ray_dev_t)); | 313 | dev = alloc_etherdev(sizeof(ray_dev_t)); |
| @@ -341,8 +323,7 @@ static int ray_probe(struct pcmcia_device *p_dev) | |||
| 341 | p_dev->io.IOAddrLines = 5; | 323 | p_dev->io.IOAddrLines = 5; |
| 342 | 324 | ||
| 343 | /* Interrupt setup. For PCMCIA, driver takes what's given */ | 325 | /* Interrupt setup. For PCMCIA, driver takes what's given */ |
| 344 | p_dev->irq.Attributes = IRQ_TYPE_DYNAMIC_SHARING | IRQ_HANDLE_PRESENT; | 326 | p_dev->irq.Attributes = IRQ_TYPE_DYNAMIC_SHARING; |
| 345 | p_dev->irq.IRQInfo1 = IRQ_LEVEL_ID; | ||
| 346 | p_dev->irq.Handler = &ray_interrupt; | 327 | p_dev->irq.Handler = &ray_interrupt; |
| 347 | 328 | ||
| 348 | /* General socket configuration */ | 329 | /* General socket configuration */ |
| @@ -351,13 +332,12 @@ static int ray_probe(struct pcmcia_device *p_dev) | |||
| 351 | p_dev->conf.ConfigIndex = 1; | 332 | p_dev->conf.ConfigIndex = 1; |
| 352 | 333 | ||
| 353 | p_dev->priv = dev; | 334 | p_dev->priv = dev; |
| 354 | p_dev->irq.Instance = dev; | ||
| 355 | 335 | ||
| 356 | local->finder = p_dev; | 336 | local->finder = p_dev; |
| 357 | local->card_status = CARD_INSERTED; | 337 | local->card_status = CARD_INSERTED; |
| 358 | local->authentication_state = UNAUTHENTICATED; | 338 | local->authentication_state = UNAUTHENTICATED; |
| 359 | local->num_multi = 0; | 339 | local->num_multi = 0; |
| 360 | DEBUG(2, "ray_attach p_dev = %p, dev = %p, local = %p, intr = %p\n", | 340 | dev_dbg(&p_dev->dev, "ray_attach p_dev = %p, dev = %p, local = %p, intr = %p\n", |
| 361 | p_dev, dev, local, &ray_interrupt); | 341 | p_dev, dev, local, &ray_interrupt); |
| 362 | 342 | ||
| 363 | /* Raylink entries in the device structure */ | 343 | /* Raylink entries in the device structure */ |
| @@ -370,7 +350,7 @@ static int ray_probe(struct pcmcia_device *p_dev) | |||
| 370 | #endif /* WIRELESS_SPY */ | 350 | #endif /* WIRELESS_SPY */ |
| 371 | 351 | ||
| 372 | 352 | ||
| 373 | DEBUG(2, "ray_cs ray_attach calling ether_setup.)\n"); | 353 | dev_dbg(&p_dev->dev, "ray_cs ray_attach calling ether_setup.)\n"); |
| 374 | netif_stop_queue(dev); | 354 | netif_stop_queue(dev); |
| 375 | 355 | ||
| 376 | init_timer(&local->timer); | 356 | init_timer(&local->timer); |
| @@ -393,7 +373,7 @@ static void ray_detach(struct pcmcia_device *link) | |||
| 393 | struct net_device *dev; | 373 | struct net_device *dev; |
| 394 | ray_dev_t *local; | 374 | ray_dev_t *local; |
| 395 | 375 | ||
| 396 | DEBUG(1, "ray_detach(0x%p)\n", link); | 376 | dev_dbg(&link->dev, "ray_detach\n"); |
| 397 | 377 | ||
| 398 | this_device = NULL; | 378 | this_device = NULL; |
| 399 | dev = link->priv; | 379 | dev = link->priv; |
| @@ -408,7 +388,7 @@ static void ray_detach(struct pcmcia_device *link) | |||
| 408 | unregister_netdev(dev); | 388 | unregister_netdev(dev); |
| 409 | free_netdev(dev); | 389 | free_netdev(dev); |
| 410 | } | 390 | } |
| 411 | DEBUG(2, "ray_cs ray_detach ending\n"); | 391 | dev_dbg(&link->dev, "ray_cs ray_detach ending\n"); |
| 412 | } /* ray_detach */ | 392 | } /* ray_detach */ |
| 413 | 393 | ||
| 414 | /*============================================================================= | 394 | /*============================================================================= |
| @@ -416,19 +396,17 @@ static void ray_detach(struct pcmcia_device *link) | |||
| 416 | is received, to configure the PCMCIA socket, and to make the | 396 | is received, to configure the PCMCIA socket, and to make the |
| 417 | ethernet device available to the system. | 397 | ethernet device available to the system. |
| 418 | =============================================================================*/ | 398 | =============================================================================*/ |
| 419 | #define CS_CHECK(fn, ret) \ | ||
| 420 | do { last_fn = (fn); if ((last_ret = (ret)) != 0) goto cs_failed; } while (0) | ||
| 421 | #define MAX_TUPLE_SIZE 128 | 399 | #define MAX_TUPLE_SIZE 128 |
| 422 | static int ray_config(struct pcmcia_device *link) | 400 | static int ray_config(struct pcmcia_device *link) |
| 423 | { | 401 | { |
| 424 | int last_fn = 0, last_ret = 0; | 402 | int ret = 0; |
| 425 | int i; | 403 | int i; |
| 426 | win_req_t req; | 404 | win_req_t req; |
| 427 | memreq_t mem; | 405 | memreq_t mem; |
| 428 | struct net_device *dev = (struct net_device *)link->priv; | 406 | struct net_device *dev = (struct net_device *)link->priv; |
| 429 | ray_dev_t *local = netdev_priv(dev); | 407 | ray_dev_t *local = netdev_priv(dev); |
| 430 | 408 | ||
| 431 | DEBUG(1, "ray_config(0x%p)\n", link); | 409 | dev_dbg(&link->dev, "ray_config\n"); |
| 432 | 410 | ||
| 433 | /* Determine card type and firmware version */ | 411 | /* Determine card type and firmware version */ |
| 434 | printk(KERN_INFO "ray_cs Detected: %s%s%s%s\n", | 412 | printk(KERN_INFO "ray_cs Detected: %s%s%s%s\n", |
| @@ -440,14 +418,17 @@ static int ray_config(struct pcmcia_device *link) | |||
| 440 | /* Now allocate an interrupt line. Note that this does not | 418 | /* Now allocate an interrupt line. Note that this does not |
| 441 | actually assign a handler to the interrupt. | 419 | actually assign a handler to the interrupt. |
| 442 | */ | 420 | */ |
| 443 | CS_CHECK(RequestIRQ, pcmcia_request_irq(link, &link->irq)); | 421 | ret = pcmcia_request_irq(link, &link->irq); |
| 422 | if (ret) | ||
| 423 | goto failed; | ||
| 444 | dev->irq = link->irq.AssignedIRQ; | 424 | dev->irq = link->irq.AssignedIRQ; |
| 445 | 425 | ||
| 446 | /* This actually configures the PCMCIA socket -- setting up | 426 | /* This actually configures the PCMCIA socket -- setting up |
| 447 | the I/O windows and the interrupt mapping. | 427 | the I/O windows and the interrupt mapping. |
| 448 | */ | 428 | */ |
| 449 | CS_CHECK(RequestConfiguration, | 429 | ret = pcmcia_request_configuration(link, &link->conf); |
| 450 | pcmcia_request_configuration(link, &link->conf)); | 430 | if (ret) |
| 431 | goto failed; | ||
| 451 | 432 | ||
| 452 | /*** Set up 32k window for shared memory (transmit and control) ************/ | 433 | /*** Set up 32k window for shared memory (transmit and control) ************/ |
| 453 | req.Attributes = | 434 | req.Attributes = |
| @@ -455,10 +436,14 @@ static int ray_config(struct pcmcia_device *link) | |||
| 455 | req.Base = 0; | 436 | req.Base = 0; |
| 456 | req.Size = 0x8000; | 437 | req.Size = 0x8000; |
| 457 | req.AccessSpeed = ray_mem_speed; | 438 | req.AccessSpeed = ray_mem_speed; |
| 458 | CS_CHECK(RequestWindow, pcmcia_request_window(&link, &req, &link->win)); | 439 | ret = pcmcia_request_window(link, &req, &link->win); |
| 440 | if (ret) | ||
| 441 | goto failed; | ||
| 459 | mem.CardOffset = 0x0000; | 442 | mem.CardOffset = 0x0000; |
| 460 | mem.Page = 0; | 443 | mem.Page = 0; |
| 461 | CS_CHECK(MapMemPage, pcmcia_map_mem_page(link->win, &mem)); | 444 | ret = pcmcia_map_mem_page(link, link->win, &mem); |
| 445 | if (ret) | ||
| 446 | goto failed; | ||
| 462 | local->sram = ioremap(req.Base, req.Size); | 447 | local->sram = ioremap(req.Base, req.Size); |
| 463 | 448 | ||
| 464 | /*** Set up 16k window for shared memory (receive buffer) ***************/ | 449 | /*** Set up 16k window for shared memory (receive buffer) ***************/ |
| @@ -467,11 +452,14 @@ static int ray_config(struct pcmcia_device *link) | |||
| 467 | req.Base = 0; | 452 | req.Base = 0; |
| 468 | req.Size = 0x4000; | 453 | req.Size = 0x4000; |
| 469 | req.AccessSpeed = ray_mem_speed; | 454 | req.AccessSpeed = ray_mem_speed; |
| 470 | CS_CHECK(RequestWindow, | 455 | ret = pcmcia_request_window(link, &req, &local->rmem_handle); |
| 471 | pcmcia_request_window(&link, &req, &local->rmem_handle)); | 456 | if (ret) |
| 457 | goto failed; | ||
| 472 | mem.CardOffset = 0x8000; | 458 | mem.CardOffset = 0x8000; |
| 473 | mem.Page = 0; | 459 | mem.Page = 0; |
| 474 | CS_CHECK(MapMemPage, pcmcia_map_mem_page(local->rmem_handle, &mem)); | 460 | ret = pcmcia_map_mem_page(link, local->rmem_handle, &mem); |
| 461 | if (ret) | ||
| 462 | goto failed; | ||
| 475 | local->rmem = ioremap(req.Base, req.Size); | 463 | local->rmem = ioremap(req.Base, req.Size); |
| 476 | 464 | ||
| 477 | /*** Set up window for attribute memory ***********************************/ | 465 | /*** Set up window for attribute memory ***********************************/ |
| @@ -480,22 +468,25 @@ static int ray_config(struct pcmcia_device *link) | |||
| 480 | req.Base = 0; | 468 | req.Base = 0; |
| 481 | req.Size = 0x1000; | 469 | req.Size = 0x1000; |
| 482 | req.AccessSpeed = ray_mem_speed; | 470 | req.AccessSpeed = ray_mem_speed; |
| 483 | CS_CHECK(RequestWindow, | 471 | ret = pcmcia_request_window(link, &req, &local->amem_handle); |
| 484 | pcmcia_request_window(&link, &req, &local->amem_handle)); | 472 | if (ret) |
| 473 | goto failed; | ||
| 485 | mem.CardOffset = 0x0000; | 474 | mem.CardOffset = 0x0000; |
| 486 | mem.Page = 0; | 475 | mem.Page = 0; |
| 487 | CS_CHECK(MapMemPage, pcmcia_map_mem_page(local->amem_handle, &mem)); | 476 | ret = pcmcia_map_mem_page(link, local->amem_handle, &mem); |
| 477 | if (ret) | ||
| 478 | goto failed; | ||
| 488 | local->amem = ioremap(req.Base, req.Size); | 479 | local->amem = ioremap(req.Base, req.Size); |
| 489 | 480 | ||
| 490 | DEBUG(3, "ray_config sram=%p\n", local->sram); | 481 | dev_dbg(&link->dev, "ray_config sram=%p\n", local->sram); |
| 491 | DEBUG(3, "ray_config rmem=%p\n", local->rmem); | 482 | dev_dbg(&link->dev, "ray_config rmem=%p\n", local->rmem); |
| 492 | DEBUG(3, "ray_config amem=%p\n", local->amem); | 483 | dev_dbg(&link->dev, "ray_config amem=%p\n", local->amem); |
| 493 | if (ray_init(dev) < 0) { | 484 | if (ray_init(dev) < 0) { |
| 494 | ray_release(link); | 485 | ray_release(link); |
| 495 | return -ENODEV; | 486 | return -ENODEV; |
| 496 | } | 487 | } |
| 497 | 488 | ||
| 498 | SET_NETDEV_DEV(dev, &handle_to_dev(link)); | 489 | SET_NETDEV_DEV(dev, &link->dev); |
| 499 | i = register_netdev(dev); | 490 | i = register_netdev(dev); |
| 500 | if (i != 0) { | 491 | if (i != 0) { |
| 501 | printk("ray_config register_netdev() failed\n"); | 492 | printk("ray_config register_netdev() failed\n"); |
| @@ -511,9 +502,7 @@ static int ray_config(struct pcmcia_device *link) | |||
| 511 | 502 | ||
| 512 | return 0; | 503 | return 0; |
| 513 | 504 | ||
| 514 | cs_failed: | 505 | failed: |
| 515 | cs_error(link, last_fn, last_ret); | ||
| 516 | |||
| 517 | ray_release(link); | 506 | ray_release(link); |
| 518 | return -ENODEV; | 507 | return -ENODEV; |
| 519 | } /* ray_config */ | 508 | } /* ray_config */ |
| @@ -543,9 +532,9 @@ static int ray_init(struct net_device *dev) | |||
| 543 | struct ccs __iomem *pccs; | 532 | struct ccs __iomem *pccs; |
| 544 | ray_dev_t *local = netdev_priv(dev); | 533 | ray_dev_t *local = netdev_priv(dev); |
| 545 | struct pcmcia_device *link = local->finder; | 534 | struct pcmcia_device *link = local->finder; |
| 546 | DEBUG(1, "ray_init(0x%p)\n", dev); | 535 | dev_dbg(&link->dev, "ray_init(0x%p)\n", dev); |
| 547 | if (!(pcmcia_dev_present(link))) { | 536 | if (!(pcmcia_dev_present(link))) { |
| 548 | DEBUG(0, "ray_init - device not present\n"); | 537 | dev_dbg(&link->dev, "ray_init - device not present\n"); |
| 549 | return -1; | 538 | return -1; |
| 550 | } | 539 | } |
| 551 | 540 | ||
| @@ -567,13 +556,13 @@ static int ray_init(struct net_device *dev) | |||
| 567 | local->fw_ver = local->startup_res.firmware_version[0]; | 556 | local->fw_ver = local->startup_res.firmware_version[0]; |
| 568 | local->fw_bld = local->startup_res.firmware_version[1]; | 557 | local->fw_bld = local->startup_res.firmware_version[1]; |
| 569 | local->fw_var = local->startup_res.firmware_version[2]; | 558 | local->fw_var = local->startup_res.firmware_version[2]; |
| 570 | DEBUG(1, "ray_init firmware version %d.%d \n", local->fw_ver, | 559 | dev_dbg(&link->dev, "ray_init firmware version %d.%d \n", local->fw_ver, |
| 571 | local->fw_bld); | 560 | local->fw_bld); |
| 572 | 561 | ||
| 573 | local->tib_length = 0x20; | 562 | local->tib_length = 0x20; |
| 574 | if ((local->fw_ver == 5) && (local->fw_bld >= 30)) | 563 | if ((local->fw_ver == 5) && (local->fw_bld >= 30)) |
| 575 | local->tib_length = local->startup_res.tib_length; | 564 | local->tib_length = local->startup_res.tib_length; |
| 576 | DEBUG(2, "ray_init tib_length = 0x%02x\n", local->tib_length); | 565 | dev_dbg(&link->dev, "ray_init tib_length = 0x%02x\n", local->tib_length); |
| 577 | /* Initialize CCS's to buffer free state */ | 566 | /* Initialize CCS's to buffer free state */ |
| 578 | pccs = ccs_base(local); | 567 | pccs = ccs_base(local); |
| 579 | for (i = 0; i < NUMBER_OF_CCS; i++) { | 568 | for (i = 0; i < NUMBER_OF_CCS; i++) { |
| @@ -592,7 +581,7 @@ static int ray_init(struct net_device *dev) | |||
| 592 | 581 | ||
| 593 | clear_interrupt(local); /* Clear any interrupt from the card */ | 582 | clear_interrupt(local); /* Clear any interrupt from the card */ |
| 594 | local->card_status = CARD_AWAITING_PARAM; | 583 | local->card_status = CARD_AWAITING_PARAM; |
| 595 | DEBUG(2, "ray_init ending\n"); | 584 | dev_dbg(&link->dev, "ray_init ending\n"); |
| 596 | return 0; | 585 | return 0; |
| 597 | } /* ray_init */ | 586 | } /* ray_init */ |
| 598 | 587 | ||
| @@ -605,9 +594,9 @@ static int dl_startup_params(struct net_device *dev) | |||
| 605 | struct ccs __iomem *pccs; | 594 | struct ccs __iomem *pccs; |
| 606 | struct pcmcia_device *link = local->finder; | 595 | struct pcmcia_device *link = local->finder; |
| 607 | 596 | ||
| 608 | DEBUG(1, "dl_startup_params entered\n"); | 597 | dev_dbg(&link->dev, "dl_startup_params entered\n"); |
| 609 | if (!(pcmcia_dev_present(link))) { | 598 | if (!(pcmcia_dev_present(link))) { |
| 610 | DEBUG(2, "ray_cs dl_startup_params - device not present\n"); | 599 | dev_dbg(&link->dev, "ray_cs dl_startup_params - device not present\n"); |
| 611 | return -1; | 600 | return -1; |
| 612 | } | 601 | } |
| 613 | 602 | ||
| @@ -625,7 +614,7 @@ static int dl_startup_params(struct net_device *dev) | |||
| 625 | local->dl_param_ccs = ccsindex; | 614 | local->dl_param_ccs = ccsindex; |
| 626 | pccs = ccs_base(local) + ccsindex; | 615 | pccs = ccs_base(local) + ccsindex; |
| 627 | writeb(CCS_DOWNLOAD_STARTUP_PARAMS, &pccs->cmd); | 616 | writeb(CCS_DOWNLOAD_STARTUP_PARAMS, &pccs->cmd); |
| 628 | DEBUG(2, "dl_startup_params start ccsindex = %d\n", | 617 | dev_dbg(&link->dev, "dl_startup_params start ccsindex = %d\n", |
| 629 | local->dl_param_ccs); | 618 | local->dl_param_ccs); |
| 630 | /* Interrupt the firmware to process the command */ | 619 | /* Interrupt the firmware to process the command */ |
| 631 | if (interrupt_ecf(local, ccsindex)) { | 620 | if (interrupt_ecf(local, ccsindex)) { |
| @@ -641,7 +630,7 @@ static int dl_startup_params(struct net_device *dev) | |||
| 641 | local->timer.data = (long)local; | 630 | local->timer.data = (long)local; |
| 642 | local->timer.function = &verify_dl_startup; | 631 | local->timer.function = &verify_dl_startup; |
| 643 | add_timer(&local->timer); | 632 | add_timer(&local->timer); |
| 644 | DEBUG(2, | 633 | dev_dbg(&link->dev, |
| 645 | "ray_cs dl_startup_params started timer for verify_dl_startup\n"); | 634 | "ray_cs dl_startup_params started timer for verify_dl_startup\n"); |
| 646 | return 0; | 635 | return 0; |
| 647 | } /* dl_startup_params */ | 636 | } /* dl_startup_params */ |
| @@ -717,11 +706,11 @@ static void verify_dl_startup(u_long data) | |||
| 717 | struct pcmcia_device *link = local->finder; | 706 | struct pcmcia_device *link = local->finder; |
| 718 | 707 | ||
| 719 | if (!(pcmcia_dev_present(link))) { | 708 | if (!(pcmcia_dev_present(link))) { |
| 720 | DEBUG(2, "ray_cs verify_dl_startup - device not present\n"); | 709 | dev_dbg(&link->dev, "ray_cs verify_dl_startup - device not present\n"); |
| 721 | return; | 710 | return; |
| 722 | } | 711 | } |
| 723 | #ifdef PCMCIA_DEBUG | 712 | #if 0 |
| 724 | if (pc_debug > 2) { | 713 | { |
| 725 | int i; | 714 | int i; |
| 726 | printk(KERN_DEBUG | 715 | printk(KERN_DEBUG |
| 727 | "verify_dl_startup parameters sent via ccs %d:\n", | 716 | "verify_dl_startup parameters sent via ccs %d:\n", |
| @@ -760,7 +749,7 @@ static void start_net(u_long data) | |||
| 760 | int ccsindex; | 749 | int ccsindex; |
| 761 | struct pcmcia_device *link = local->finder; | 750 | struct pcmcia_device *link = local->finder; |
| 762 | if (!(pcmcia_dev_present(link))) { | 751 | if (!(pcmcia_dev_present(link))) { |
| 763 | DEBUG(2, "ray_cs start_net - device not present\n"); | 752 | dev_dbg(&link->dev, "ray_cs start_net - device not present\n"); |
| 764 | return; | 753 | return; |
| 765 | } | 754 | } |
| 766 | /* Fill in the CCS fields for the ECF */ | 755 | /* Fill in the CCS fields for the ECF */ |
| @@ -771,7 +760,7 @@ static void start_net(u_long data) | |||
| 771 | writeb(0, &pccs->var.start_network.update_param); | 760 | writeb(0, &pccs->var.start_network.update_param); |
| 772 | /* Interrupt the firmware to process the command */ | 761 | /* Interrupt the firmware to process the command */ |
| 773 | if (interrupt_ecf(local, ccsindex)) { | 762 | if (interrupt_ecf(local, ccsindex)) { |
| 774 | DEBUG(1, "ray start net failed - card not ready for intr\n"); | 763 | dev_dbg(&link->dev, "ray start net failed - card not ready for intr\n"); |
| 775 | writeb(CCS_BUFFER_FREE, &(pccs++)->buffer_status); | 764 | writeb(CCS_BUFFER_FREE, &(pccs++)->buffer_status); |
| 776 | return; | 765 | return; |
| 777 | } | 766 | } |
| @@ -790,7 +779,7 @@ static void join_net(u_long data) | |||
| 790 | struct pcmcia_device *link = local->finder; | 779 | struct pcmcia_device *link = local->finder; |
| 791 | 780 | ||
| 792 | if (!(pcmcia_dev_present(link))) { | 781 | if (!(pcmcia_dev_present(link))) { |
| 793 | DEBUG(2, "ray_cs join_net - device not present\n"); | 782 | dev_dbg(&link->dev, "ray_cs join_net - device not present\n"); |
| 794 | return; | 783 | return; |
| 795 | } | 784 | } |
| 796 | /* Fill in the CCS fields for the ECF */ | 785 | /* Fill in the CCS fields for the ECF */ |
| @@ -802,7 +791,7 @@ static void join_net(u_long data) | |||
| 802 | writeb(0, &pccs->var.join_network.net_initiated); | 791 | writeb(0, &pccs->var.join_network.net_initiated); |
| 803 | /* Interrupt the firmware to process the command */ | 792 | /* Interrupt the firmware to process the command */ |
| 804 | if (interrupt_ecf(local, ccsindex)) { | 793 | if (interrupt_ecf(local, ccsindex)) { |
| 805 | DEBUG(1, "ray join net failed - card not ready for intr\n"); | 794 | dev_dbg(&link->dev, "ray join net failed - card not ready for intr\n"); |
| 806 | writeb(CCS_BUFFER_FREE, &(pccs++)->buffer_status); | 795 | writeb(CCS_BUFFER_FREE, &(pccs++)->buffer_status); |
| 807 | return; | 796 | return; |
| 808 | } | 797 | } |
| @@ -821,7 +810,7 @@ static void ray_release(struct pcmcia_device *link) | |||
| 821 | ray_dev_t *local = netdev_priv(dev); | 810 | ray_dev_t *local = netdev_priv(dev); |
| 822 | int i; | 811 | int i; |
| 823 | 812 | ||
| 824 | DEBUG(1, "ray_release(0x%p)\n", link); | 813 | dev_dbg(&link->dev, "ray_release\n"); |
| 825 | 814 | ||
| 826 | del_timer(&local->timer); | 815 | del_timer(&local->timer); |
| 827 | 816 | ||
| @@ -829,15 +818,15 @@ static void ray_release(struct pcmcia_device *link) | |||
| 829 | iounmap(local->rmem); | 818 | iounmap(local->rmem); |
| 830 | iounmap(local->amem); | 819 | iounmap(local->amem); |
| 831 | /* Do bother checking to see if these succeed or not */ | 820 | /* Do bother checking to see if these succeed or not */ |
| 832 | i = pcmcia_release_window(local->amem_handle); | 821 | i = pcmcia_release_window(link, local->amem_handle); |
| 833 | if (i != 0) | 822 | if (i != 0) |
| 834 | DEBUG(0, "ReleaseWindow(local->amem) ret = %x\n", i); | 823 | dev_dbg(&link->dev, "ReleaseWindow(local->amem) ret = %x\n", i); |
| 835 | i = pcmcia_release_window(local->rmem_handle); | 824 | i = pcmcia_release_window(link, local->rmem_handle); |
| 836 | if (i != 0) | 825 | if (i != 0) |
| 837 | DEBUG(0, "ReleaseWindow(local->rmem) ret = %x\n", i); | 826 | dev_dbg(&link->dev, "ReleaseWindow(local->rmem) ret = %x\n", i); |
| 838 | pcmcia_disable_device(link); | 827 | pcmcia_disable_device(link); |
| 839 | 828 | ||
| 840 | DEBUG(2, "ray_release ending\n"); | 829 | dev_dbg(&link->dev, "ray_release ending\n"); |
| 841 | } | 830 | } |
| 842 | 831 | ||
| 843 | static int ray_suspend(struct pcmcia_device *link) | 832 | static int ray_suspend(struct pcmcia_device *link) |
| @@ -871,9 +860,9 @@ static int ray_dev_init(struct net_device *dev) | |||
| 871 | ray_dev_t *local = netdev_priv(dev); | 860 | ray_dev_t *local = netdev_priv(dev); |
| 872 | struct pcmcia_device *link = local->finder; | 861 | struct pcmcia_device *link = local->finder; |
| 873 | 862 | ||
| 874 | DEBUG(1, "ray_dev_init(dev=%p)\n", dev); | 863 | dev_dbg(&link->dev, "ray_dev_init(dev=%p)\n", dev); |
| 875 | if (!(pcmcia_dev_present(link))) { | 864 | if (!(pcmcia_dev_present(link))) { |
| 876 | DEBUG(2, "ray_dev_init - device not present\n"); | 865 | dev_dbg(&link->dev, "ray_dev_init - device not present\n"); |
| 877 | return -1; | 866 | return -1; |
| 878 | } | 867 | } |
| 879 | #ifdef RAY_IMMEDIATE_INIT | 868 | #ifdef RAY_IMMEDIATE_INIT |
| @@ -887,7 +876,7 @@ static int ray_dev_init(struct net_device *dev) | |||
| 887 | /* Postpone the card init so that we can still configure the card, | 876 | /* Postpone the card init so that we can still configure the card, |
| 888 | * for example using the Wireless Extensions. The init will happen | 877 | * for example using the Wireless Extensions. The init will happen |
| 889 | * in ray_open() - Jean II */ | 878 | * in ray_open() - Jean II */ |
| 890 | DEBUG(1, | 879 | dev_dbg(&link->dev, |
| 891 | "ray_dev_init: postponing card init to ray_open() ; Status = %d\n", | 880 | "ray_dev_init: postponing card init to ray_open() ; Status = %d\n", |
| 892 | local->card_status); | 881 | local->card_status); |
| 893 | #endif /* RAY_IMMEDIATE_INIT */ | 882 | #endif /* RAY_IMMEDIATE_INIT */ |
| @@ -896,7 +885,7 @@ static int ray_dev_init(struct net_device *dev) | |||
| 896 | memcpy(dev->dev_addr, &local->sparm.b4.a_mac_addr, ADDRLEN); | 885 | memcpy(dev->dev_addr, &local->sparm.b4.a_mac_addr, ADDRLEN); |
| 897 | memset(dev->broadcast, 0xff, ETH_ALEN); | 886 | memset(dev->broadcast, 0xff, ETH_ALEN); |
| 898 | 887 | ||
| 899 | DEBUG(2, "ray_dev_init ending\n"); | 888 | dev_dbg(&link->dev, "ray_dev_init ending\n"); |
| 900 | return 0; | 889 | return 0; |
| 901 | } | 890 | } |
| 902 | 891 | ||
| @@ -906,9 +895,9 @@ static int ray_dev_config(struct net_device *dev, struct ifmap *map) | |||
| 906 | ray_dev_t *local = netdev_priv(dev); | 895 | ray_dev_t *local = netdev_priv(dev); |
| 907 | struct pcmcia_device *link = local->finder; | 896 | struct pcmcia_device *link = local->finder; |
| 908 | /* Dummy routine to satisfy device structure */ | 897 | /* Dummy routine to satisfy device structure */ |
| 909 | DEBUG(1, "ray_dev_config(dev=%p,ifmap=%p)\n", dev, map); | 898 | dev_dbg(&link->dev, "ray_dev_config(dev=%p,ifmap=%p)\n", dev, map); |
| 910 | if (!(pcmcia_dev_present(link))) { | 899 | if (!(pcmcia_dev_present(link))) { |
| 911 | DEBUG(2, "ray_dev_config - device not present\n"); | 900 | dev_dbg(&link->dev, "ray_dev_config - device not present\n"); |
| 912 | return -1; | 901 | return -1; |
| 913 | } | 902 | } |
| 914 | 903 | ||
| @@ -924,14 +913,14 @@ static netdev_tx_t ray_dev_start_xmit(struct sk_buff *skb, | |||
| 924 | short length = skb->len; | 913 | short length = skb->len; |
| 925 | 914 | ||
| 926 | if (!pcmcia_dev_present(link)) { | 915 | if (!pcmcia_dev_present(link)) { |
| 927 | DEBUG(2, "ray_dev_start_xmit - device not present\n"); | 916 | dev_dbg(&link->dev, "ray_dev_start_xmit - device not present\n"); |
| 928 | dev_kfree_skb(skb); | 917 | dev_kfree_skb(skb); |
| 929 | return NETDEV_TX_OK; | 918 | return NETDEV_TX_OK; |
| 930 | } | 919 | } |
| 931 | 920 | ||
| 932 | DEBUG(3, "ray_dev_start_xmit(skb=%p, dev=%p)\n", skb, dev); | 921 | dev_dbg(&link->dev, "ray_dev_start_xmit(skb=%p, dev=%p)\n", skb, dev); |
| 933 | if (local->authentication_state == NEED_TO_AUTH) { | 922 | if (local->authentication_state == NEED_TO_AUTH) { |
| 934 | DEBUG(0, "ray_cs Sending authentication request.\n"); | 923 | dev_dbg(&link->dev, "ray_cs Sending authentication request.\n"); |
| 935 | if (!build_auth_frame(local, local->auth_id, OPEN_AUTH_REQUEST)) { | 924 | if (!build_auth_frame(local, local->auth_id, OPEN_AUTH_REQUEST)) { |
| 936 | local->authentication_state = AUTHENTICATED; | 925 | local->authentication_state = AUTHENTICATED; |
| 937 | netif_stop_queue(dev); | 926 | netif_stop_queue(dev); |
| @@ -971,7 +960,7 @@ static int ray_hw_xmit(unsigned char *data, int len, struct net_device *dev, | |||
| 971 | struct tx_msg __iomem *ptx; /* Address of xmit buffer in PC space */ | 960 | struct tx_msg __iomem *ptx; /* Address of xmit buffer in PC space */ |
| 972 | short int addr; /* Address of xmit buffer in card space */ | 961 | short int addr; /* Address of xmit buffer in card space */ |
| 973 | 962 | ||
| 974 | DEBUG(3, "ray_hw_xmit(data=%p, len=%d, dev=%p)\n", data, len, dev); | 963 | pr_debug("ray_hw_xmit(data=%p, len=%d, dev=%p)\n", data, len, dev); |
| 975 | if (len + TX_HEADER_LENGTH > TX_BUF_SIZE) { | 964 | if (len + TX_HEADER_LENGTH > TX_BUF_SIZE) { |
| 976 | printk(KERN_INFO "ray_hw_xmit packet too large: %d bytes\n", | 965 | printk(KERN_INFO "ray_hw_xmit packet too large: %d bytes\n", |
| 977 | len); | 966 | len); |
| @@ -979,9 +968,9 @@ static int ray_hw_xmit(unsigned char *data, int len, struct net_device *dev, | |||
| 979 | } | 968 | } |
| 980 | switch (ccsindex = get_free_tx_ccs(local)) { | 969 | switch (ccsindex = get_free_tx_ccs(local)) { |
| 981 | case ECCSBUSY: | 970 | case ECCSBUSY: |
| 982 | DEBUG(2, "ray_hw_xmit tx_ccs table busy\n"); | 971 | pr_debug("ray_hw_xmit tx_ccs table busy\n"); |
| 983 | case ECCSFULL: | 972 | case ECCSFULL: |
| 984 | DEBUG(2, "ray_hw_xmit No free tx ccs\n"); | 973 | pr_debug("ray_hw_xmit No free tx ccs\n"); |
| 985 | case ECARDGONE: | 974 | case ECARDGONE: |
| 986 | netif_stop_queue(dev); | 975 | netif_stop_queue(dev); |
| 987 | return XMIT_NO_CCS; | 976 | return XMIT_NO_CCS; |
| @@ -1018,12 +1007,12 @@ static int ray_hw_xmit(unsigned char *data, int len, struct net_device *dev, | |||
| 1018 | writeb(PSM_CAM, &pccs->var.tx_request.pow_sav_mode); | 1007 | writeb(PSM_CAM, &pccs->var.tx_request.pow_sav_mode); |
| 1019 | writeb(local->net_default_tx_rate, &pccs->var.tx_request.tx_rate); | 1008 | writeb(local->net_default_tx_rate, &pccs->var.tx_request.tx_rate); |
| 1020 | writeb(0, &pccs->var.tx_request.antenna); | 1009 | writeb(0, &pccs->var.tx_request.antenna); |
| 1021 | DEBUG(3, "ray_hw_xmit default_tx_rate = 0x%x\n", | 1010 | pr_debug("ray_hw_xmit default_tx_rate = 0x%x\n", |
| 1022 | local->net_default_tx_rate); | 1011 | local->net_default_tx_rate); |
| 1023 | 1012 | ||
| 1024 | /* Interrupt the firmware to process the command */ | 1013 | /* Interrupt the firmware to process the command */ |
| 1025 | if (interrupt_ecf(local, ccsindex)) { | 1014 | if (interrupt_ecf(local, ccsindex)) { |
| 1026 | DEBUG(2, "ray_hw_xmit failed - ECF not ready for intr\n"); | 1015 | pr_debug("ray_hw_xmit failed - ECF not ready for intr\n"); |
| 1027 | /* TBD very inefficient to copy packet to buffer, and then not | 1016 | /* TBD very inefficient to copy packet to buffer, and then not |
| 1028 | send it, but the alternative is to queue the messages and that | 1017 | send it, but the alternative is to queue the messages and that |
| 1029 | won't be done for a while. Maybe set tbusy until a CCS is free? | 1018 | won't be done for a while. Maybe set tbusy until a CCS is free? |
| @@ -1040,7 +1029,7 @@ static int translate_frame(ray_dev_t *local, struct tx_msg __iomem *ptx, | |||
| 1040 | { | 1029 | { |
| 1041 | __be16 proto = ((struct ethhdr *)data)->h_proto; | 1030 | __be16 proto = ((struct ethhdr *)data)->h_proto; |
| 1042 | if (ntohs(proto) >= 1536) { /* DIX II ethernet frame */ | 1031 | if (ntohs(proto) >= 1536) { /* DIX II ethernet frame */ |
| 1043 | DEBUG(3, "ray_cs translate_frame DIX II\n"); | 1032 | pr_debug("ray_cs translate_frame DIX II\n"); |
| 1044 | /* Copy LLC header to card buffer */ | 1033 | /* Copy LLC header to card buffer */ |
| 1045 | memcpy_toio(&ptx->var, eth2_llc, sizeof(eth2_llc)); | 1034 | memcpy_toio(&ptx->var, eth2_llc, sizeof(eth2_llc)); |
| 1046 | memcpy_toio(((void __iomem *)&ptx->var) + sizeof(eth2_llc), | 1035 | memcpy_toio(((void __iomem *)&ptx->var) + sizeof(eth2_llc), |
| @@ -1056,9 +1045,9 @@ static int translate_frame(ray_dev_t *local, struct tx_msg __iomem *ptx, | |||
| 1056 | len - ETH_HLEN); | 1045 | len - ETH_HLEN); |
| 1057 | return (int)sizeof(struct snaphdr_t) - ETH_HLEN; | 1046 | return (int)sizeof(struct snaphdr_t) - ETH_HLEN; |
| 1058 | } else { /* already 802 type, and proto is length */ | 1047 | } else { /* already 802 type, and proto is length */ |
| 1059 | DEBUG(3, "ray_cs translate_frame 802\n"); | 1048 | pr_debug("ray_cs translate_frame 802\n"); |
| 1060 | if (proto == htons(0xffff)) { /* evil netware IPX 802.3 without LLC */ | 1049 | if (proto == htons(0xffff)) { /* evil netware IPX 802.3 without LLC */ |
| 1061 | DEBUG(3, "ray_cs translate_frame evil IPX\n"); | 1050 | pr_debug("ray_cs translate_frame evil IPX\n"); |
| 1062 | memcpy_toio(&ptx->var, data + ETH_HLEN, len - ETH_HLEN); | 1051 | memcpy_toio(&ptx->var, data + ETH_HLEN, len - ETH_HLEN); |
| 1063 | return 0 - ETH_HLEN; | 1052 | return 0 - ETH_HLEN; |
| 1064 | } | 1053 | } |
| @@ -1603,7 +1592,7 @@ static int ray_open(struct net_device *dev) | |||
| 1603 | struct pcmcia_device *link; | 1592 | struct pcmcia_device *link; |
| 1604 | link = local->finder; | 1593 | link = local->finder; |
| 1605 | 1594 | ||
| 1606 | DEBUG(1, "ray_open('%s')\n", dev->name); | 1595 | dev_dbg(&link->dev, "ray_open('%s')\n", dev->name); |
| 1607 | 1596 | ||
| 1608 | if (link->open == 0) | 1597 | if (link->open == 0) |
| 1609 | local->num_multi = 0; | 1598 | local->num_multi = 0; |
| @@ -1613,7 +1602,7 @@ static int ray_open(struct net_device *dev) | |||
| 1613 | if (local->card_status == CARD_AWAITING_PARAM) { | 1602 | if (local->card_status == CARD_AWAITING_PARAM) { |
| 1614 | int i; | 1603 | int i; |
| 1615 | 1604 | ||
| 1616 | DEBUG(1, "ray_open: doing init now !\n"); | 1605 | dev_dbg(&link->dev, "ray_open: doing init now !\n"); |
| 1617 | 1606 | ||
| 1618 | /* Download startup parameters */ | 1607 | /* Download startup parameters */ |
| 1619 | if ((i = dl_startup_params(dev)) < 0) { | 1608 | if ((i = dl_startup_params(dev)) < 0) { |
| @@ -1629,7 +1618,7 @@ static int ray_open(struct net_device *dev) | |||
| 1629 | else | 1618 | else |
| 1630 | netif_start_queue(dev); | 1619 | netif_start_queue(dev); |
| 1631 | 1620 | ||
| 1632 | DEBUG(2, "ray_open ending\n"); | 1621 | dev_dbg(&link->dev, "ray_open ending\n"); |
| 1633 | return 0; | 1622 | return 0; |
| 1634 | } /* end ray_open */ | 1623 | } /* end ray_open */ |
| 1635 | 1624 | ||
| @@ -1640,7 +1629,7 @@ static int ray_dev_close(struct net_device *dev) | |||
| 1640 | struct pcmcia_device *link; | 1629 | struct pcmcia_device *link; |
| 1641 | link = local->finder; | 1630 | link = local->finder; |
| 1642 | 1631 | ||
| 1643 | DEBUG(1, "ray_dev_close('%s')\n", dev->name); | 1632 | dev_dbg(&link->dev, "ray_dev_close('%s')\n", dev->name); |
| 1644 | 1633 | ||
| 1645 | link->open--; | 1634 | link->open--; |
| 1646 | netif_stop_queue(dev); | 1635 | netif_stop_queue(dev); |
| @@ -1656,7 +1645,7 @@ static int ray_dev_close(struct net_device *dev) | |||
| 1656 | /*===========================================================================*/ | 1645 | /*===========================================================================*/ |
| 1657 | static void ray_reset(struct net_device *dev) | 1646 | static void ray_reset(struct net_device *dev) |
| 1658 | { | 1647 | { |
| 1659 | DEBUG(1, "ray_reset entered\n"); | 1648 | pr_debug("ray_reset entered\n"); |
| 1660 | return; | 1649 | return; |
| 1661 | } | 1650 | } |
| 1662 | 1651 | ||
| @@ -1669,17 +1658,17 @@ static int interrupt_ecf(ray_dev_t *local, int ccs) | |||
| 1669 | struct pcmcia_device *link = local->finder; | 1658 | struct pcmcia_device *link = local->finder; |
| 1670 | 1659 | ||
| 1671 | if (!(pcmcia_dev_present(link))) { | 1660 | if (!(pcmcia_dev_present(link))) { |
| 1672 | DEBUG(2, "ray_cs interrupt_ecf - device not present\n"); | 1661 | dev_dbg(&link->dev, "ray_cs interrupt_ecf - device not present\n"); |
| 1673 | return -1; | 1662 | return -1; |
| 1674 | } | 1663 | } |
| 1675 | DEBUG(2, "interrupt_ecf(local=%p, ccs = 0x%x\n", local, ccs); | 1664 | dev_dbg(&link->dev, "interrupt_ecf(local=%p, ccs = 0x%x\n", local, ccs); |
| 1676 | 1665 | ||
| 1677 | while (i && | 1666 | while (i && |
| 1678 | (readb(local->amem + CIS_OFFSET + ECF_INTR_OFFSET) & | 1667 | (readb(local->amem + CIS_OFFSET + ECF_INTR_OFFSET) & |
| 1679 | ECF_INTR_SET)) | 1668 | ECF_INTR_SET)) |
| 1680 | i--; | 1669 | i--; |
| 1681 | if (i == 0) { | 1670 | if (i == 0) { |
| 1682 | DEBUG(2, "ray_cs interrupt_ecf card not ready for interrupt\n"); | 1671 | dev_dbg(&link->dev, "ray_cs interrupt_ecf card not ready for interrupt\n"); |
| 1683 | return -1; | 1672 | return -1; |
| 1684 | } | 1673 | } |
| 1685 | /* Fill the mailbox, then kick the card */ | 1674 | /* Fill the mailbox, then kick the card */ |
| @@ -1698,12 +1687,12 @@ static int get_free_tx_ccs(ray_dev_t *local) | |||
| 1698 | struct pcmcia_device *link = local->finder; | 1687 | struct pcmcia_device *link = local->finder; |
| 1699 | 1688 | ||
| 1700 | if (!(pcmcia_dev_present(link))) { | 1689 | if (!(pcmcia_dev_present(link))) { |
| 1701 | DEBUG(2, "ray_cs get_free_tx_ccs - device not present\n"); | 1690 | dev_dbg(&link->dev, "ray_cs get_free_tx_ccs - device not present\n"); |
| 1702 | return ECARDGONE; | 1691 | return ECARDGONE; |
| 1703 | } | 1692 | } |
| 1704 | 1693 | ||
| 1705 | if (test_and_set_bit(0, &local->tx_ccs_lock)) { | 1694 | if (test_and_set_bit(0, &local->tx_ccs_lock)) { |
| 1706 | DEBUG(1, "ray_cs tx_ccs_lock busy\n"); | 1695 | dev_dbg(&link->dev, "ray_cs tx_ccs_lock busy\n"); |
| 1707 | return ECCSBUSY; | 1696 | return ECCSBUSY; |
| 1708 | } | 1697 | } |
| 1709 | 1698 | ||
| @@ -1716,7 +1705,7 @@ static int get_free_tx_ccs(ray_dev_t *local) | |||
| 1716 | } | 1705 | } |
| 1717 | } | 1706 | } |
| 1718 | local->tx_ccs_lock = 0; | 1707 | local->tx_ccs_lock = 0; |
| 1719 | DEBUG(2, "ray_cs ERROR no free tx CCS for raylink card\n"); | 1708 | dev_dbg(&link->dev, "ray_cs ERROR no free tx CCS for raylink card\n"); |
| 1720 | return ECCSFULL; | 1709 | return ECCSFULL; |
| 1721 | } /* get_free_tx_ccs */ | 1710 | } /* get_free_tx_ccs */ |
| 1722 | 1711 | ||
| @@ -1730,11 +1719,11 @@ static int get_free_ccs(ray_dev_t *local) | |||
| 1730 | struct pcmcia_device *link = local->finder; | 1719 | struct pcmcia_device *link = local->finder; |
| 1731 | 1720 | ||
| 1732 | if (!(pcmcia_dev_present(link))) { | 1721 | if (!(pcmcia_dev_present(link))) { |
| 1733 | DEBUG(2, "ray_cs get_free_ccs - device not present\n"); | 1722 | dev_dbg(&link->dev, "ray_cs get_free_ccs - device not present\n"); |
| 1734 | return ECARDGONE; | 1723 | return ECARDGONE; |
| 1735 | } | 1724 | } |
| 1736 | if (test_and_set_bit(0, &local->ccs_lock)) { | 1725 | if (test_and_set_bit(0, &local->ccs_lock)) { |
| 1737 | DEBUG(1, "ray_cs ccs_lock busy\n"); | 1726 | dev_dbg(&link->dev, "ray_cs ccs_lock busy\n"); |
| 1738 | return ECCSBUSY; | 1727 | return ECCSBUSY; |
| 1739 | } | 1728 | } |
| 1740 | 1729 | ||
| @@ -1747,7 +1736,7 @@ static int get_free_ccs(ray_dev_t *local) | |||
| 1747 | } | 1736 | } |
| 1748 | } | 1737 | } |
| 1749 | local->ccs_lock = 0; | 1738 | local->ccs_lock = 0; |
| 1750 | DEBUG(1, "ray_cs ERROR no free CCS for raylink card\n"); | 1739 | dev_dbg(&link->dev, "ray_cs ERROR no free CCS for raylink card\n"); |
| 1751 | return ECCSFULL; | 1740 | return ECCSFULL; |
| 1752 | } /* get_free_ccs */ | 1741 | } /* get_free_ccs */ |
| 1753 | 1742 | ||
| @@ -1823,7 +1812,7 @@ static struct net_device_stats *ray_get_stats(struct net_device *dev) | |||
| 1823 | struct pcmcia_device *link = local->finder; | 1812 | struct pcmcia_device *link = local->finder; |
| 1824 | struct status __iomem *p = local->sram + STATUS_BASE; | 1813 | struct status __iomem *p = local->sram + STATUS_BASE; |
| 1825 | if (!(pcmcia_dev_present(link))) { | 1814 | if (!(pcmcia_dev_present(link))) { |
| 1826 | DEBUG(2, "ray_cs net_device_stats - device not present\n"); | 1815 | dev_dbg(&link->dev, "ray_cs net_device_stats - device not present\n"); |
| 1827 | return &local->stats; | 1816 | return &local->stats; |
| 1828 | } | 1817 | } |
| 1829 | if (readb(&p->mrx_overflow_for_host)) { | 1818 | if (readb(&p->mrx_overflow_for_host)) { |
| @@ -1856,12 +1845,12 @@ static void ray_update_parm(struct net_device *dev, UCHAR objid, UCHAR *value, | |||
| 1856 | struct ccs __iomem *pccs; | 1845 | struct ccs __iomem *pccs; |
| 1857 | 1846 | ||
| 1858 | if (!(pcmcia_dev_present(link))) { | 1847 | if (!(pcmcia_dev_present(link))) { |
| 1859 | DEBUG(2, "ray_update_parm - device not present\n"); | 1848 | dev_dbg(&link->dev, "ray_update_parm - device not present\n"); |
| 1860 | return; | 1849 | return; |
| 1861 | } | 1850 | } |
| 1862 | 1851 | ||
| 1863 | if ((ccsindex = get_free_ccs(local)) < 0) { | 1852 | if ((ccsindex = get_free_ccs(local)) < 0) { |
| 1864 | DEBUG(0, "ray_update_parm - No free ccs\n"); | 1853 | dev_dbg(&link->dev, "ray_update_parm - No free ccs\n"); |
| 1865 | return; | 1854 | return; |
| 1866 | } | 1855 | } |
| 1867 | pccs = ccs_base(local) + ccsindex; | 1856 | pccs = ccs_base(local) + ccsindex; |
| @@ -1874,7 +1863,7 @@ static void ray_update_parm(struct net_device *dev, UCHAR objid, UCHAR *value, | |||
| 1874 | } | 1863 | } |
| 1875 | /* Interrupt the firmware to process the command */ | 1864 | /* Interrupt the firmware to process the command */ |
| 1876 | if (interrupt_ecf(local, ccsindex)) { | 1865 | if (interrupt_ecf(local, ccsindex)) { |
| 1877 | DEBUG(0, "ray_cs associate failed - ECF not ready for intr\n"); | 1866 | dev_dbg(&link->dev, "ray_cs associate failed - ECF not ready for intr\n"); |
| 1878 | writeb(CCS_BUFFER_FREE, &(pccs++)->buffer_status); | 1867 | writeb(CCS_BUFFER_FREE, &(pccs++)->buffer_status); |
| 1879 | } | 1868 | } |
| 1880 | } | 1869 | } |
| @@ -1891,12 +1880,12 @@ static void ray_update_multi_list(struct net_device *dev, int all) | |||
| 1891 | void __iomem *p = local->sram + HOST_TO_ECF_BASE; | 1880 | void __iomem *p = local->sram + HOST_TO_ECF_BASE; |
| 1892 | 1881 | ||
| 1893 | if (!(pcmcia_dev_present(link))) { | 1882 | if (!(pcmcia_dev_present(link))) { |
| 1894 | DEBUG(2, "ray_update_multi_list - device not present\n"); | 1883 | dev_dbg(&link->dev, "ray_update_multi_list - device not present\n"); |
| 1895 | return; | 1884 | return; |
| 1896 | } else | 1885 | } else |
| 1897 | DEBUG(2, "ray_update_multi_list(%p)\n", dev); | 1886 | dev_dbg(&link->dev, "ray_update_multi_list(%p)\n", dev); |
| 1898 | if ((ccsindex = get_free_ccs(local)) < 0) { | 1887 | if ((ccsindex = get_free_ccs(local)) < 0) { |
| 1899 | DEBUG(1, "ray_update_multi - No free ccs\n"); | 1888 | dev_dbg(&link->dev, "ray_update_multi - No free ccs\n"); |
| 1900 | return; | 1889 | return; |
| 1901 | } | 1890 | } |
| 1902 | pccs = ccs_base(local) + ccsindex; | 1891 | pccs = ccs_base(local) + ccsindex; |
| @@ -1910,7 +1899,7 @@ static void ray_update_multi_list(struct net_device *dev, int all) | |||
| 1910 | for (dmip = &dev->mc_list; (dmi = *dmip) != NULL; | 1899 | for (dmip = &dev->mc_list; (dmi = *dmip) != NULL; |
| 1911 | dmip = &dmi->next) { | 1900 | dmip = &dmi->next) { |
| 1912 | memcpy_toio(p, dmi->dmi_addr, ETH_ALEN); | 1901 | memcpy_toio(p, dmi->dmi_addr, ETH_ALEN); |
| 1913 | DEBUG(1, | 1902 | dev_dbg(&link->dev, |
| 1914 | "ray_update_multi add addr %02x%02x%02x%02x%02x%02x\n", | 1903 | "ray_update_multi add addr %02x%02x%02x%02x%02x%02x\n", |
| 1915 | dmi->dmi_addr[0], dmi->dmi_addr[1], | 1904 | dmi->dmi_addr[0], dmi->dmi_addr[1], |
| 1916 | dmi->dmi_addr[2], dmi->dmi_addr[3], | 1905 | dmi->dmi_addr[2], dmi->dmi_addr[3], |
| @@ -1921,12 +1910,12 @@ static void ray_update_multi_list(struct net_device *dev, int all) | |||
| 1921 | if (i > 256 / ADDRLEN) | 1910 | if (i > 256 / ADDRLEN) |
| 1922 | i = 256 / ADDRLEN; | 1911 | i = 256 / ADDRLEN; |
| 1923 | writeb((UCHAR) i, &pccs->var); | 1912 | writeb((UCHAR) i, &pccs->var); |
| 1924 | DEBUG(1, "ray_cs update_multi %d addresses in list\n", i); | 1913 | dev_dbg(&link->dev, "ray_cs update_multi %d addresses in list\n", i); |
| 1925 | /* Interrupt the firmware to process the command */ | 1914 | /* Interrupt the firmware to process the command */ |
| 1926 | local->num_multi = i; | 1915 | local->num_multi = i; |
| 1927 | } | 1916 | } |
| 1928 | if (interrupt_ecf(local, ccsindex)) { | 1917 | if (interrupt_ecf(local, ccsindex)) { |
| 1929 | DEBUG(1, | 1918 | dev_dbg(&link->dev, |
| 1930 | "ray_cs update_multi failed - ECF not ready for intr\n"); | 1919 | "ray_cs update_multi failed - ECF not ready for intr\n"); |
| 1931 | writeb(CCS_BUFFER_FREE, &(pccs++)->buffer_status); | 1920 | writeb(CCS_BUFFER_FREE, &(pccs++)->buffer_status); |
| 1932 | } | 1921 | } |
| @@ -1938,11 +1927,11 @@ static void set_multicast_list(struct net_device *dev) | |||
| 1938 | ray_dev_t *local = netdev_priv(dev); | 1927 | ray_dev_t *local = netdev_priv(dev); |
| 1939 | UCHAR promisc; | 1928 | UCHAR promisc; |
| 1940 | 1929 | ||
| 1941 | DEBUG(2, "ray_cs set_multicast_list(%p)\n", dev); | 1930 | pr_debug("ray_cs set_multicast_list(%p)\n", dev); |
| 1942 | 1931 | ||
| 1943 | if (dev->flags & IFF_PROMISC) { | 1932 | if (dev->flags & IFF_PROMISC) { |
| 1944 | if (local->sparm.b5.a_promiscuous_mode == 0) { | 1933 | if (local->sparm.b5.a_promiscuous_mode == 0) { |
| 1945 | DEBUG(1, "ray_cs set_multicast_list promisc on\n"); | 1934 | pr_debug("ray_cs set_multicast_list promisc on\n"); |
| 1946 | local->sparm.b5.a_promiscuous_mode = 1; | 1935 | local->sparm.b5.a_promiscuous_mode = 1; |
| 1947 | promisc = 1; | 1936 | promisc = 1; |
| 1948 | ray_update_parm(dev, OBJID_promiscuous_mode, | 1937 | ray_update_parm(dev, OBJID_promiscuous_mode, |
| @@ -1950,7 +1939,7 @@ static void set_multicast_list(struct net_device *dev) | |||
| 1950 | } | 1939 | } |
| 1951 | } else { | 1940 | } else { |
| 1952 | if (local->sparm.b5.a_promiscuous_mode == 1) { | 1941 | if (local->sparm.b5.a_promiscuous_mode == 1) { |
| 1953 | DEBUG(1, "ray_cs set_multicast_list promisc off\n"); | 1942 | pr_debug("ray_cs set_multicast_list promisc off\n"); |
| 1954 | local->sparm.b5.a_promiscuous_mode = 0; | 1943 | local->sparm.b5.a_promiscuous_mode = 0; |
| 1955 | promisc = 0; | 1944 | promisc = 0; |
| 1956 | ray_update_parm(dev, OBJID_promiscuous_mode, | 1945 | ray_update_parm(dev, OBJID_promiscuous_mode, |
| @@ -1984,19 +1973,19 @@ static irqreturn_t ray_interrupt(int irq, void *dev_id) | |||
| 1984 | if (dev == NULL) /* Note that we want interrupts with dev->start == 0 */ | 1973 | if (dev == NULL) /* Note that we want interrupts with dev->start == 0 */ |
| 1985 | return IRQ_NONE; | 1974 | return IRQ_NONE; |
| 1986 | 1975 | ||
| 1987 | DEBUG(4, "ray_cs: interrupt for *dev=%p\n", dev); | 1976 | pr_debug("ray_cs: interrupt for *dev=%p\n", dev); |
| 1988 | 1977 | ||
| 1989 | local = netdev_priv(dev); | 1978 | local = netdev_priv(dev); |
| 1990 | link = (struct pcmcia_device *)local->finder; | 1979 | link = (struct pcmcia_device *)local->finder; |
| 1991 | if (!pcmcia_dev_present(link)) { | 1980 | if (!pcmcia_dev_present(link)) { |
| 1992 | DEBUG(2, | 1981 | pr_debug( |
| 1993 | "ray_cs interrupt from device not present or suspended.\n"); | 1982 | "ray_cs interrupt from device not present or suspended.\n"); |
| 1994 | return IRQ_NONE; | 1983 | return IRQ_NONE; |
| 1995 | } | 1984 | } |
| 1996 | rcsindex = readb(&((struct scb __iomem *)(local->sram))->rcs_index); | 1985 | rcsindex = readb(&((struct scb __iomem *)(local->sram))->rcs_index); |
| 1997 | 1986 | ||
| 1998 | if (rcsindex >= (NUMBER_OF_CCS + NUMBER_OF_RCS)) { | 1987 | if (rcsindex >= (NUMBER_OF_CCS + NUMBER_OF_RCS)) { |
| 1999 | DEBUG(1, "ray_cs interrupt bad rcsindex = 0x%x\n", rcsindex); | 1988 | dev_dbg(&link->dev, "ray_cs interrupt bad rcsindex = 0x%x\n", rcsindex); |
| 2000 | clear_interrupt(local); | 1989 | clear_interrupt(local); |
| 2001 | return IRQ_HANDLED; | 1990 | return IRQ_HANDLED; |
| 2002 | } | 1991 | } |
| @@ -2008,33 +1997,33 @@ static irqreturn_t ray_interrupt(int irq, void *dev_id) | |||
| 2008 | case CCS_DOWNLOAD_STARTUP_PARAMS: /* Happens in firmware someday */ | 1997 | case CCS_DOWNLOAD_STARTUP_PARAMS: /* Happens in firmware someday */ |
| 2009 | del_timer(&local->timer); | 1998 | del_timer(&local->timer); |
| 2010 | if (status == CCS_COMMAND_COMPLETE) { | 1999 | if (status == CCS_COMMAND_COMPLETE) { |
| 2011 | DEBUG(1, | 2000 | dev_dbg(&link->dev, |
| 2012 | "ray_cs interrupt download_startup_parameters OK\n"); | 2001 | "ray_cs interrupt download_startup_parameters OK\n"); |
| 2013 | } else { | 2002 | } else { |
| 2014 | DEBUG(1, | 2003 | dev_dbg(&link->dev, |
| 2015 | "ray_cs interrupt download_startup_parameters fail\n"); | 2004 | "ray_cs interrupt download_startup_parameters fail\n"); |
| 2016 | } | 2005 | } |
| 2017 | break; | 2006 | break; |
| 2018 | case CCS_UPDATE_PARAMS: | 2007 | case CCS_UPDATE_PARAMS: |
| 2019 | DEBUG(1, "ray_cs interrupt update params done\n"); | 2008 | dev_dbg(&link->dev, "ray_cs interrupt update params done\n"); |
| 2020 | if (status != CCS_COMMAND_COMPLETE) { | 2009 | if (status != CCS_COMMAND_COMPLETE) { |
| 2021 | tmp = | 2010 | tmp = |
| 2022 | readb(&pccs->var.update_param. | 2011 | readb(&pccs->var.update_param. |
| 2023 | failure_cause); | 2012 | failure_cause); |
| 2024 | DEBUG(0, | 2013 | dev_dbg(&link->dev, |
| 2025 | "ray_cs interrupt update params failed - reason %d\n", | 2014 | "ray_cs interrupt update params failed - reason %d\n", |
| 2026 | tmp); | 2015 | tmp); |
| 2027 | } | 2016 | } |
| 2028 | break; | 2017 | break; |
| 2029 | case CCS_REPORT_PARAMS: | 2018 | case CCS_REPORT_PARAMS: |
| 2030 | DEBUG(1, "ray_cs interrupt report params done\n"); | 2019 | dev_dbg(&link->dev, "ray_cs interrupt report params done\n"); |
| 2031 | break; | 2020 | break; |
| 2032 | case CCS_UPDATE_MULTICAST_LIST: /* Note that this CCS isn't returned */ | 2021 | case CCS_UPDATE_MULTICAST_LIST: /* Note that this CCS isn't returned */ |
| 2033 | DEBUG(1, | 2022 | dev_dbg(&link->dev, |
| 2034 | "ray_cs interrupt CCS Update Multicast List done\n"); | 2023 | "ray_cs interrupt CCS Update Multicast List done\n"); |
| 2035 | break; | 2024 | break; |
| 2036 | case CCS_UPDATE_POWER_SAVINGS_MODE: | 2025 | case CCS_UPDATE_POWER_SAVINGS_MODE: |
| 2037 | DEBUG(1, | 2026 | dev_dbg(&link->dev, |
| 2038 | "ray_cs interrupt update power save mode done\n"); | 2027 | "ray_cs interrupt update power save mode done\n"); |
| 2039 | break; | 2028 | break; |
| 2040 | case CCS_START_NETWORK: | 2029 | case CCS_START_NETWORK: |
| @@ -2043,11 +2032,11 @@ static irqreturn_t ray_interrupt(int irq, void *dev_id) | |||
| 2043 | if (readb | 2032 | if (readb |
| 2044 | (&pccs->var.start_network.net_initiated) == | 2033 | (&pccs->var.start_network.net_initiated) == |
| 2045 | 1) { | 2034 | 1) { |
| 2046 | DEBUG(0, | 2035 | dev_dbg(&link->dev, |
| 2047 | "ray_cs interrupt network \"%s\" started\n", | 2036 | "ray_cs interrupt network \"%s\" started\n", |
| 2048 | local->sparm.b4.a_current_ess_id); | 2037 | local->sparm.b4.a_current_ess_id); |
| 2049 | } else { | 2038 | } else { |
| 2050 | DEBUG(0, | 2039 | dev_dbg(&link->dev, |
| 2051 | "ray_cs interrupt network \"%s\" joined\n", | 2040 | "ray_cs interrupt network \"%s\" joined\n", |
| 2052 | local->sparm.b4.a_current_ess_id); | 2041 | local->sparm.b4.a_current_ess_id); |
| 2053 | } | 2042 | } |
| @@ -2075,12 +2064,12 @@ static irqreturn_t ray_interrupt(int irq, void *dev_id) | |||
| 2075 | local->timer.expires = jiffies + HZ * 5; | 2064 | local->timer.expires = jiffies + HZ * 5; |
| 2076 | local->timer.data = (long)local; | 2065 | local->timer.data = (long)local; |
| 2077 | if (status == CCS_START_NETWORK) { | 2066 | if (status == CCS_START_NETWORK) { |
| 2078 | DEBUG(0, | 2067 | dev_dbg(&link->dev, |
| 2079 | "ray_cs interrupt network \"%s\" start failed\n", | 2068 | "ray_cs interrupt network \"%s\" start failed\n", |
| 2080 | local->sparm.b4.a_current_ess_id); | 2069 | local->sparm.b4.a_current_ess_id); |
| 2081 | local->timer.function = &start_net; | 2070 | local->timer.function = &start_net; |
| 2082 | } else { | 2071 | } else { |
| 2083 | DEBUG(0, | 2072 | dev_dbg(&link->dev, |
| 2084 | "ray_cs interrupt network \"%s\" join failed\n", | 2073 | "ray_cs interrupt network \"%s\" join failed\n", |
| 2085 | local->sparm.b4.a_current_ess_id); | 2074 | local->sparm.b4.a_current_ess_id); |
| 2086 | local->timer.function = &join_net; | 2075 | local->timer.function = &join_net; |
| @@ -2091,19 +2080,19 @@ static irqreturn_t ray_interrupt(int irq, void *dev_id) | |||
| 2091 | case CCS_START_ASSOCIATION: | 2080 | case CCS_START_ASSOCIATION: |
| 2092 | if (status == CCS_COMMAND_COMPLETE) { | 2081 | if (status == CCS_COMMAND_COMPLETE) { |
| 2093 | local->card_status = CARD_ASSOC_COMPLETE; | 2082 | local->card_status = CARD_ASSOC_COMPLETE; |
| 2094 | DEBUG(0, "ray_cs association successful\n"); | 2083 | dev_dbg(&link->dev, "ray_cs association successful\n"); |
| 2095 | } else { | 2084 | } else { |
| 2096 | DEBUG(0, "ray_cs association failed,\n"); | 2085 | dev_dbg(&link->dev, "ray_cs association failed,\n"); |
| 2097 | local->card_status = CARD_ASSOC_FAILED; | 2086 | local->card_status = CARD_ASSOC_FAILED; |
| 2098 | join_net((u_long) local); | 2087 | join_net((u_long) local); |
| 2099 | } | 2088 | } |
| 2100 | break; | 2089 | break; |
| 2101 | case CCS_TX_REQUEST: | 2090 | case CCS_TX_REQUEST: |
| 2102 | if (status == CCS_COMMAND_COMPLETE) { | 2091 | if (status == CCS_COMMAND_COMPLETE) { |
| 2103 | DEBUG(3, | 2092 | dev_dbg(&link->dev, |
| 2104 | "ray_cs interrupt tx request complete\n"); | 2093 | "ray_cs interrupt tx request complete\n"); |
| 2105 | } else { | 2094 | } else { |
| 2106 | DEBUG(1, | 2095 | dev_dbg(&link->dev, |
| 2107 | "ray_cs interrupt tx request failed\n"); | 2096 | "ray_cs interrupt tx request failed\n"); |
| 2108 | } | 2097 | } |
| 2109 | if (!sniffer) | 2098 | if (!sniffer) |
| @@ -2111,21 +2100,21 @@ static irqreturn_t ray_interrupt(int irq, void *dev_id) | |||
| 2111 | netif_wake_queue(dev); | 2100 | netif_wake_queue(dev); |
| 2112 | break; | 2101 | break; |
| 2113 | case CCS_TEST_MEMORY: | 2102 | case CCS_TEST_MEMORY: |
| 2114 | DEBUG(1, "ray_cs interrupt mem test done\n"); | 2103 | dev_dbg(&link->dev, "ray_cs interrupt mem test done\n"); |
| 2115 | break; | 2104 | break; |
| 2116 | case CCS_SHUTDOWN: | 2105 | case CCS_SHUTDOWN: |
| 2117 | DEBUG(1, | 2106 | dev_dbg(&link->dev, |
| 2118 | "ray_cs interrupt Unexpected CCS returned - Shutdown\n"); | 2107 | "ray_cs interrupt Unexpected CCS returned - Shutdown\n"); |
| 2119 | break; | 2108 | break; |
| 2120 | case CCS_DUMP_MEMORY: | 2109 | case CCS_DUMP_MEMORY: |
| 2121 | DEBUG(1, "ray_cs interrupt dump memory done\n"); | 2110 | dev_dbg(&link->dev, "ray_cs interrupt dump memory done\n"); |
| 2122 | break; | 2111 | break; |
| 2123 | case CCS_START_TIMER: | 2112 | case CCS_START_TIMER: |
| 2124 | DEBUG(2, | 2113 | dev_dbg(&link->dev, |
| 2125 | "ray_cs interrupt DING - raylink timer expired\n"); | 2114 | "ray_cs interrupt DING - raylink timer expired\n"); |
| 2126 | break; | 2115 | break; |
| 2127 | default: | 2116 | default: |
| 2128 | DEBUG(1, | 2117 | dev_dbg(&link->dev, |
| 2129 | "ray_cs interrupt Unexpected CCS 0x%x returned 0x%x\n", | 2118 | "ray_cs interrupt Unexpected CCS 0x%x returned 0x%x\n", |
| 2130 | rcsindex, cmd); | 2119 | rcsindex, cmd); |
| 2131 | } | 2120 | } |
| @@ -2139,7 +2128,7 @@ static irqreturn_t ray_interrupt(int irq, void *dev_id) | |||
| 2139 | ray_rx(dev, local, prcs); | 2128 | ray_rx(dev, local, prcs); |
| 2140 | break; | 2129 | break; |
| 2141 | case REJOIN_NET_COMPLETE: | 2130 | case REJOIN_NET_COMPLETE: |
| 2142 | DEBUG(1, "ray_cs interrupt rejoin net complete\n"); | 2131 | dev_dbg(&link->dev, "ray_cs interrupt rejoin net complete\n"); |
| 2143 | local->card_status = CARD_ACQ_COMPLETE; | 2132 | local->card_status = CARD_ACQ_COMPLETE; |
| 2144 | /* do we need to clear tx buffers CCS's? */ | 2133 | /* do we need to clear tx buffers CCS's? */ |
| 2145 | if (local->sparm.b4.a_network_type == ADHOC) { | 2134 | if (local->sparm.b4.a_network_type == ADHOC) { |
| @@ -2149,7 +2138,7 @@ static irqreturn_t ray_interrupt(int irq, void *dev_id) | |||
| 2149 | memcpy_fromio(&local->bss_id, | 2138 | memcpy_fromio(&local->bss_id, |
| 2150 | prcs->var.rejoin_net_complete. | 2139 | prcs->var.rejoin_net_complete. |
| 2151 | bssid, ADDRLEN); | 2140 | bssid, ADDRLEN); |
| 2152 | DEBUG(1, | 2141 | dev_dbg(&link->dev, |
| 2153 | "ray_cs new BSSID = %02x%02x%02x%02x%02x%02x\n", | 2142 | "ray_cs new BSSID = %02x%02x%02x%02x%02x%02x\n", |
| 2154 | local->bss_id[0], local->bss_id[1], | 2143 | local->bss_id[0], local->bss_id[1], |
| 2155 | local->bss_id[2], local->bss_id[3], | 2144 | local->bss_id[2], local->bss_id[3], |
| @@ -2159,15 +2148,15 @@ static irqreturn_t ray_interrupt(int irq, void *dev_id) | |||
| 2159 | } | 2148 | } |
| 2160 | break; | 2149 | break; |
| 2161 | case ROAMING_INITIATED: | 2150 | case ROAMING_INITIATED: |
| 2162 | DEBUG(1, "ray_cs interrupt roaming initiated\n"); | 2151 | dev_dbg(&link->dev, "ray_cs interrupt roaming initiated\n"); |
| 2163 | netif_stop_queue(dev); | 2152 | netif_stop_queue(dev); |
| 2164 | local->card_status = CARD_DOING_ACQ; | 2153 | local->card_status = CARD_DOING_ACQ; |
| 2165 | break; | 2154 | break; |
| 2166 | case JAPAN_CALL_SIGN_RXD: | 2155 | case JAPAN_CALL_SIGN_RXD: |
| 2167 | DEBUG(1, "ray_cs interrupt japan call sign rx\n"); | 2156 | dev_dbg(&link->dev, "ray_cs interrupt japan call sign rx\n"); |
| 2168 | break; | 2157 | break; |
| 2169 | default: | 2158 | default: |
| 2170 | DEBUG(1, | 2159 | dev_dbg(&link->dev, |
| 2171 | "ray_cs Unexpected interrupt for RCS 0x%x cmd = 0x%x\n", | 2160 | "ray_cs Unexpected interrupt for RCS 0x%x cmd = 0x%x\n", |
| 2172 | rcsindex, | 2161 | rcsindex, |
| 2173 | (unsigned int)readb(&prcs->interrupt_id)); | 2162 | (unsigned int)readb(&prcs->interrupt_id)); |
| @@ -2186,7 +2175,7 @@ static void ray_rx(struct net_device *dev, ray_dev_t *local, | |||
| 2186 | int rx_len; | 2175 | int rx_len; |
| 2187 | unsigned int pkt_addr; | 2176 | unsigned int pkt_addr; |
| 2188 | void __iomem *pmsg; | 2177 | void __iomem *pmsg; |
| 2189 | DEBUG(4, "ray_rx process rx packet\n"); | 2178 | pr_debug("ray_rx process rx packet\n"); |
| 2190 | 2179 | ||
| 2191 | /* Calculate address of packet within Rx buffer */ | 2180 | /* Calculate address of packet within Rx buffer */ |
| 2192 | pkt_addr = ((readb(&prcs->var.rx_packet.rx_data_ptr[0]) << 8) | 2181 | pkt_addr = ((readb(&prcs->var.rx_packet.rx_data_ptr[0]) << 8) |
| @@ -2199,28 +2188,28 @@ static void ray_rx(struct net_device *dev, ray_dev_t *local, | |||
| 2199 | pmsg = local->rmem + pkt_addr; | 2188 | pmsg = local->rmem + pkt_addr; |
| 2200 | switch (readb(pmsg)) { | 2189 | switch (readb(pmsg)) { |
| 2201 | case DATA_TYPE: | 2190 | case DATA_TYPE: |
| 2202 | DEBUG(4, "ray_rx data type\n"); | 2191 | pr_debug("ray_rx data type\n"); |
| 2203 | rx_data(dev, prcs, pkt_addr, rx_len); | 2192 | rx_data(dev, prcs, pkt_addr, rx_len); |
| 2204 | break; | 2193 | break; |
| 2205 | case AUTHENTIC_TYPE: | 2194 | case AUTHENTIC_TYPE: |
| 2206 | DEBUG(4, "ray_rx authentic type\n"); | 2195 | pr_debug("ray_rx authentic type\n"); |
| 2207 | if (sniffer) | 2196 | if (sniffer) |
| 2208 | rx_data(dev, prcs, pkt_addr, rx_len); | 2197 | rx_data(dev, prcs, pkt_addr, rx_len); |
| 2209 | else | 2198 | else |
| 2210 | rx_authenticate(local, prcs, pkt_addr, rx_len); | 2199 | rx_authenticate(local, prcs, pkt_addr, rx_len); |
| 2211 | break; | 2200 | break; |
| 2212 | case DEAUTHENTIC_TYPE: | 2201 | case DEAUTHENTIC_TYPE: |
| 2213 | DEBUG(4, "ray_rx deauth type\n"); | 2202 | pr_debug("ray_rx deauth type\n"); |
| 2214 | if (sniffer) | 2203 | if (sniffer) |
| 2215 | rx_data(dev, prcs, pkt_addr, rx_len); | 2204 | rx_data(dev, prcs, pkt_addr, rx_len); |
| 2216 | else | 2205 | else |
| 2217 | rx_deauthenticate(local, prcs, pkt_addr, rx_len); | 2206 | rx_deauthenticate(local, prcs, pkt_addr, rx_len); |
| 2218 | break; | 2207 | break; |
| 2219 | case NULL_MSG_TYPE: | 2208 | case NULL_MSG_TYPE: |
| 2220 | DEBUG(3, "ray_cs rx NULL msg\n"); | 2209 | pr_debug("ray_cs rx NULL msg\n"); |
| 2221 | break; | 2210 | break; |
| 2222 | case BEACON_TYPE: | 2211 | case BEACON_TYPE: |
| 2223 | DEBUG(4, "ray_rx beacon type\n"); | 2212 | pr_debug("ray_rx beacon type\n"); |
| 2224 | if (sniffer) | 2213 | if (sniffer) |
| 2225 | rx_data(dev, prcs, pkt_addr, rx_len); | 2214 | rx_data(dev, prcs, pkt_addr, rx_len); |
| 2226 | 2215 | ||
| @@ -2233,7 +2222,7 @@ static void ray_rx(struct net_device *dev, ray_dev_t *local, | |||
| 2233 | ray_get_stats(dev); | 2222 | ray_get_stats(dev); |
| 2234 | break; | 2223 | break; |
| 2235 | default: | 2224 | default: |
| 2236 | DEBUG(0, "ray_cs unknown pkt type %2x\n", | 2225 | pr_debug("ray_cs unknown pkt type %2x\n", |
| 2237 | (unsigned int)readb(pmsg)); | 2226 | (unsigned int)readb(pmsg)); |
| 2238 | break; | 2227 | break; |
| 2239 | } | 2228 | } |
| @@ -2262,7 +2251,7 @@ static void rx_data(struct net_device *dev, struct rcs __iomem *prcs, | |||
| 2262 | rx_len > | 2251 | rx_len > |
| 2263 | (dev->mtu + RX_MAC_HEADER_LENGTH + ETH_HLEN + | 2252 | (dev->mtu + RX_MAC_HEADER_LENGTH + ETH_HLEN + |
| 2264 | FCS_LEN)) { | 2253 | FCS_LEN)) { |
| 2265 | DEBUG(0, | 2254 | pr_debug( |
| 2266 | "ray_cs invalid packet length %d received \n", | 2255 | "ray_cs invalid packet length %d received \n", |
| 2267 | rx_len); | 2256 | rx_len); |
| 2268 | return; | 2257 | return; |
| @@ -2273,17 +2262,17 @@ static void rx_data(struct net_device *dev, struct rcs __iomem *prcs, | |||
| 2273 | rx_len > | 2262 | rx_len > |
| 2274 | (dev->mtu + RX_MAC_HEADER_LENGTH + ETH_HLEN + | 2263 | (dev->mtu + RX_MAC_HEADER_LENGTH + ETH_HLEN + |
| 2275 | FCS_LEN)) { | 2264 | FCS_LEN)) { |
| 2276 | DEBUG(0, | 2265 | pr_debug( |
| 2277 | "ray_cs invalid packet length %d received \n", | 2266 | "ray_cs invalid packet length %d received \n", |
| 2278 | rx_len); | 2267 | rx_len); |
| 2279 | return; | 2268 | return; |
| 2280 | } | 2269 | } |
| 2281 | } | 2270 | } |
| 2282 | } | 2271 | } |
| 2283 | DEBUG(4, "ray_cs rx_data packet\n"); | 2272 | pr_debug("ray_cs rx_data packet\n"); |
| 2284 | /* If fragmented packet, verify sizes of fragments add up */ | 2273 | /* If fragmented packet, verify sizes of fragments add up */ |
| 2285 | if (readb(&prcs->var.rx_packet.next_frag_rcs_index) != 0xFF) { | 2274 | if (readb(&prcs->var.rx_packet.next_frag_rcs_index) != 0xFF) { |
| 2286 | DEBUG(1, "ray_cs rx'ed fragment\n"); | 2275 | pr_debug("ray_cs rx'ed fragment\n"); |
| 2287 | tmp = (readb(&prcs->var.rx_packet.totalpacketlength[0]) << 8) | 2276 | tmp = (readb(&prcs->var.rx_packet.totalpacketlength[0]) << 8) |
| 2288 | + readb(&prcs->var.rx_packet.totalpacketlength[1]); | 2277 | + readb(&prcs->var.rx_packet.totalpacketlength[1]); |
| 2289 | total_len = tmp; | 2278 | total_len = tmp; |
| @@ -2301,7 +2290,7 @@ static void rx_data(struct net_device *dev, struct rcs __iomem *prcs, | |||
| 2301 | } while (1); | 2290 | } while (1); |
| 2302 | 2291 | ||
| 2303 | if (tmp < 0) { | 2292 | if (tmp < 0) { |
| 2304 | DEBUG(0, | 2293 | pr_debug( |
| 2305 | "ray_cs rx_data fragment lengths don't add up\n"); | 2294 | "ray_cs rx_data fragment lengths don't add up\n"); |
| 2306 | local->stats.rx_dropped++; | 2295 | local->stats.rx_dropped++; |
| 2307 | release_frag_chain(local, prcs); | 2296 | release_frag_chain(local, prcs); |
| @@ -2313,7 +2302,7 @@ static void rx_data(struct net_device *dev, struct rcs __iomem *prcs, | |||
| 2313 | 2302 | ||
| 2314 | skb = dev_alloc_skb(total_len + 5); | 2303 | skb = dev_alloc_skb(total_len + 5); |
| 2315 | if (skb == NULL) { | 2304 | if (skb == NULL) { |
| 2316 | DEBUG(0, "ray_cs rx_data could not allocate skb\n"); | 2305 | pr_debug("ray_cs rx_data could not allocate skb\n"); |
| 2317 | local->stats.rx_dropped++; | 2306 | local->stats.rx_dropped++; |
| 2318 | if (readb(&prcs->var.rx_packet.next_frag_rcs_index) != 0xFF) | 2307 | if (readb(&prcs->var.rx_packet.next_frag_rcs_index) != 0xFF) |
| 2319 | release_frag_chain(local, prcs); | 2308 | release_frag_chain(local, prcs); |
| @@ -2321,7 +2310,7 @@ static void rx_data(struct net_device *dev, struct rcs __iomem *prcs, | |||
| 2321 | } | 2310 | } |
| 2322 | skb_reserve(skb, 2); /* Align IP on 16 byte (TBD check this) */ | 2311 | skb_reserve(skb, 2); /* Align IP on 16 byte (TBD check this) */ |
| 2323 | 2312 | ||
| 2324 | DEBUG(4, "ray_cs rx_data total_len = %x, rx_len = %x\n", total_len, | 2313 | pr_debug("ray_cs rx_data total_len = %x, rx_len = %x\n", total_len, |
| 2325 | rx_len); | 2314 | rx_len); |
| 2326 | 2315 | ||
| 2327 | /************************/ | 2316 | /************************/ |
| @@ -2354,7 +2343,7 @@ static void rx_data(struct net_device *dev, struct rcs __iomem *prcs, | |||
| 2354 | tmp = 17; | 2343 | tmp = 17; |
| 2355 | if (readb(&prcs->var.rx_packet.next_frag_rcs_index) != 0xFF) { | 2344 | if (readb(&prcs->var.rx_packet.next_frag_rcs_index) != 0xFF) { |
| 2356 | prcslink = prcs; | 2345 | prcslink = prcs; |
| 2357 | DEBUG(1, "ray_cs rx_data in fragment loop\n"); | 2346 | pr_debug("ray_cs rx_data in fragment loop\n"); |
| 2358 | do { | 2347 | do { |
| 2359 | prcslink = rcs_base(local) | 2348 | prcslink = rcs_base(local) |
| 2360 | + | 2349 | + |
| @@ -2426,8 +2415,8 @@ static void untranslate(ray_dev_t *local, struct sk_buff *skb, int len) | |||
| 2426 | memcpy(destaddr, ieee80211_get_DA(pmac), ADDRLEN); | 2415 | memcpy(destaddr, ieee80211_get_DA(pmac), ADDRLEN); |
| 2427 | memcpy(srcaddr, ieee80211_get_SA(pmac), ADDRLEN); | 2416 | memcpy(srcaddr, ieee80211_get_SA(pmac), ADDRLEN); |
| 2428 | 2417 | ||
| 2429 | #ifdef PCMCIA_DEBUG | 2418 | #if 0 |
| 2430 | if (pc_debug > 3) { | 2419 | if { |
| 2431 | print_hex_dump(KERN_DEBUG, "skb->data before untranslate: ", | 2420 | print_hex_dump(KERN_DEBUG, "skb->data before untranslate: ", |
| 2432 | DUMP_PREFIX_NONE, 16, 1, | 2421 | DUMP_PREFIX_NONE, 16, 1, |
| 2433 | skb->data, 64, true); | 2422 | skb->data, 64, true); |
| @@ -2441,7 +2430,7 @@ static void untranslate(ray_dev_t *local, struct sk_buff *skb, int len) | |||
| 2441 | 2430 | ||
| 2442 | if (psnap->dsap != 0xaa || psnap->ssap != 0xaa || psnap->ctrl != 3) { | 2431 | if (psnap->dsap != 0xaa || psnap->ssap != 0xaa || psnap->ctrl != 3) { |
| 2443 | /* not a snap type so leave it alone */ | 2432 | /* not a snap type so leave it alone */ |
| 2444 | DEBUG(3, "ray_cs untranslate NOT SNAP %02x %02x %02x\n", | 2433 | pr_debug("ray_cs untranslate NOT SNAP %02x %02x %02x\n", |
| 2445 | psnap->dsap, psnap->ssap, psnap->ctrl); | 2434 | psnap->dsap, psnap->ssap, psnap->ctrl); |
| 2446 | 2435 | ||
| 2447 | delta = RX_MAC_HEADER_LENGTH - ETH_HLEN; | 2436 | delta = RX_MAC_HEADER_LENGTH - ETH_HLEN; |
| @@ -2450,7 +2439,7 @@ static void untranslate(ray_dev_t *local, struct sk_buff *skb, int len) | |||
| 2450 | } else { /* Its a SNAP */ | 2439 | } else { /* Its a SNAP */ |
| 2451 | if (memcmp(psnap->org, org_bridge, 3) == 0) { | 2440 | if (memcmp(psnap->org, org_bridge, 3) == 0) { |
| 2452 | /* EtherII and nuke the LLC */ | 2441 | /* EtherII and nuke the LLC */ |
| 2453 | DEBUG(3, "ray_cs untranslate Bridge encap\n"); | 2442 | pr_debug("ray_cs untranslate Bridge encap\n"); |
| 2454 | delta = RX_MAC_HEADER_LENGTH | 2443 | delta = RX_MAC_HEADER_LENGTH |
| 2455 | + sizeof(struct snaphdr_t) - ETH_HLEN; | 2444 | + sizeof(struct snaphdr_t) - ETH_HLEN; |
| 2456 | peth = (struct ethhdr *)(skb->data + delta); | 2445 | peth = (struct ethhdr *)(skb->data + delta); |
| @@ -2459,14 +2448,14 @@ static void untranslate(ray_dev_t *local, struct sk_buff *skb, int len) | |||
| 2459 | switch (ntohs(type)) { | 2448 | switch (ntohs(type)) { |
| 2460 | case ETH_P_IPX: | 2449 | case ETH_P_IPX: |
| 2461 | case ETH_P_AARP: | 2450 | case ETH_P_AARP: |
| 2462 | DEBUG(3, "ray_cs untranslate RFC IPX/AARP\n"); | 2451 | pr_debug("ray_cs untranslate RFC IPX/AARP\n"); |
| 2463 | delta = RX_MAC_HEADER_LENGTH - ETH_HLEN; | 2452 | delta = RX_MAC_HEADER_LENGTH - ETH_HLEN; |
| 2464 | peth = (struct ethhdr *)(skb->data + delta); | 2453 | peth = (struct ethhdr *)(skb->data + delta); |
| 2465 | peth->h_proto = | 2454 | peth->h_proto = |
| 2466 | htons(len - RX_MAC_HEADER_LENGTH); | 2455 | htons(len - RX_MAC_HEADER_LENGTH); |
| 2467 | break; | 2456 | break; |
| 2468 | default: | 2457 | default: |
| 2469 | DEBUG(3, "ray_cs untranslate RFC default\n"); | 2458 | pr_debug("ray_cs untranslate RFC default\n"); |
| 2470 | delta = RX_MAC_HEADER_LENGTH + | 2459 | delta = RX_MAC_HEADER_LENGTH + |
| 2471 | sizeof(struct snaphdr_t) - ETH_HLEN; | 2460 | sizeof(struct snaphdr_t) - ETH_HLEN; |
| 2472 | peth = (struct ethhdr *)(skb->data + delta); | 2461 | peth = (struct ethhdr *)(skb->data + delta); |
| @@ -2482,12 +2471,12 @@ static void untranslate(ray_dev_t *local, struct sk_buff *skb, int len) | |||
| 2482 | } | 2471 | } |
| 2483 | /* TBD reserve skb_reserve(skb, delta); */ | 2472 | /* TBD reserve skb_reserve(skb, delta); */ |
| 2484 | skb_pull(skb, delta); | 2473 | skb_pull(skb, delta); |
| 2485 | DEBUG(3, "untranslate after skb_pull(%d), skb->data = %p\n", delta, | 2474 | pr_debug("untranslate after skb_pull(%d), skb->data = %p\n", delta, |
| 2486 | skb->data); | 2475 | skb->data); |
| 2487 | memcpy(peth->h_dest, destaddr, ADDRLEN); | 2476 | memcpy(peth->h_dest, destaddr, ADDRLEN); |
| 2488 | memcpy(peth->h_source, srcaddr, ADDRLEN); | 2477 | memcpy(peth->h_source, srcaddr, ADDRLEN); |
| 2489 | #ifdef PCMCIA_DEBUG | 2478 | #if 0 |
| 2490 | if (pc_debug > 3) { | 2479 | { |
| 2491 | int i; | 2480 | int i; |
| 2492 | printk(KERN_DEBUG "skb->data after untranslate:"); | 2481 | printk(KERN_DEBUG "skb->data after untranslate:"); |
| 2493 | for (i = 0; i < 64; i++) | 2482 | for (i = 0; i < 64; i++) |
| @@ -2529,7 +2518,7 @@ static void release_frag_chain(ray_dev_t *local, struct rcs __iomem *prcs) | |||
| 2529 | while (tmp--) { | 2518 | while (tmp--) { |
| 2530 | writeb(CCS_BUFFER_FREE, &prcslink->buffer_status); | 2519 | writeb(CCS_BUFFER_FREE, &prcslink->buffer_status); |
| 2531 | if (rcsindex >= (NUMBER_OF_CCS + NUMBER_OF_RCS)) { | 2520 | if (rcsindex >= (NUMBER_OF_CCS + NUMBER_OF_RCS)) { |
| 2532 | DEBUG(1, "ray_cs interrupt bad rcsindex = 0x%x\n", | 2521 | pr_debug("ray_cs interrupt bad rcsindex = 0x%x\n", |
| 2533 | rcsindex); | 2522 | rcsindex); |
| 2534 | break; | 2523 | break; |
| 2535 | } | 2524 | } |
| @@ -2543,9 +2532,9 @@ static void release_frag_chain(ray_dev_t *local, struct rcs __iomem *prcs) | |||
| 2543 | static void authenticate(ray_dev_t *local) | 2532 | static void authenticate(ray_dev_t *local) |
| 2544 | { | 2533 | { |
| 2545 | struct pcmcia_device *link = local->finder; | 2534 | struct pcmcia_device *link = local->finder; |
| 2546 | DEBUG(0, "ray_cs Starting authentication.\n"); | 2535 | dev_dbg(&link->dev, "ray_cs Starting authentication.\n"); |
| 2547 | if (!(pcmcia_dev_present(link))) { | 2536 | if (!(pcmcia_dev_present(link))) { |
| 2548 | DEBUG(2, "ray_cs authenticate - device not present\n"); | 2537 | dev_dbg(&link->dev, "ray_cs authenticate - device not present\n"); |
| 2549 | return; | 2538 | return; |
| 2550 | } | 2539 | } |
| 2551 | 2540 | ||
| @@ -2573,11 +2562,11 @@ static void rx_authenticate(ray_dev_t *local, struct rcs __iomem *prcs, | |||
| 2573 | copy_from_rx_buff(local, buff, pkt_addr, rx_len & 0xff); | 2562 | copy_from_rx_buff(local, buff, pkt_addr, rx_len & 0xff); |
| 2574 | /* if we are trying to get authenticated */ | 2563 | /* if we are trying to get authenticated */ |
| 2575 | if (local->sparm.b4.a_network_type == ADHOC) { | 2564 | if (local->sparm.b4.a_network_type == ADHOC) { |
| 2576 | DEBUG(1, "ray_cs rx_auth var= %02x %02x %02x %02x %02x %02x\n", | 2565 | pr_debug("ray_cs rx_auth var= %02x %02x %02x %02x %02x %02x\n", |
| 2577 | msg->var[0], msg->var[1], msg->var[2], msg->var[3], | 2566 | msg->var[0], msg->var[1], msg->var[2], msg->var[3], |
| 2578 | msg->var[4], msg->var[5]); | 2567 | msg->var[4], msg->var[5]); |
| 2579 | if (msg->var[2] == 1) { | 2568 | if (msg->var[2] == 1) { |
| 2580 | DEBUG(0, "ray_cs Sending authentication response.\n"); | 2569 | pr_debug("ray_cs Sending authentication response.\n"); |
| 2581 | if (!build_auth_frame | 2570 | if (!build_auth_frame |
| 2582 | (local, msg->mac.addr_2, OPEN_AUTH_RESPONSE)) { | 2571 | (local, msg->mac.addr_2, OPEN_AUTH_RESPONSE)) { |
| 2583 | local->authentication_state = NEED_TO_AUTH; | 2572 | local->authentication_state = NEED_TO_AUTH; |
| @@ -2591,13 +2580,13 @@ static void rx_authenticate(ray_dev_t *local, struct rcs __iomem *prcs, | |||
| 2591 | /* Verify authentication sequence #2 and success */ | 2580 | /* Verify authentication sequence #2 and success */ |
| 2592 | if (msg->var[2] == 2) { | 2581 | if (msg->var[2] == 2) { |
| 2593 | if ((msg->var[3] | msg->var[4]) == 0) { | 2582 | if ((msg->var[3] | msg->var[4]) == 0) { |
| 2594 | DEBUG(1, "Authentication successful\n"); | 2583 | pr_debug("Authentication successful\n"); |
| 2595 | local->card_status = CARD_AUTH_COMPLETE; | 2584 | local->card_status = CARD_AUTH_COMPLETE; |
| 2596 | associate(local); | 2585 | associate(local); |
| 2597 | local->authentication_state = | 2586 | local->authentication_state = |
| 2598 | AUTHENTICATED; | 2587 | AUTHENTICATED; |
| 2599 | } else { | 2588 | } else { |
| 2600 | DEBUG(0, "Authentication refused\n"); | 2589 | pr_debug("Authentication refused\n"); |
| 2601 | local->card_status = CARD_AUTH_REFUSED; | 2590 | local->card_status = CARD_AUTH_REFUSED; |
| 2602 | join_net((u_long) local); | 2591 | join_net((u_long) local); |
| 2603 | local->authentication_state = | 2592 | local->authentication_state = |
| @@ -2617,22 +2606,22 @@ static void associate(ray_dev_t *local) | |||
| 2617 | struct net_device *dev = link->priv; | 2606 | struct net_device *dev = link->priv; |
| 2618 | int ccsindex; | 2607 | int ccsindex; |
| 2619 | if (!(pcmcia_dev_present(link))) { | 2608 | if (!(pcmcia_dev_present(link))) { |
| 2620 | DEBUG(2, "ray_cs associate - device not present\n"); | 2609 | dev_dbg(&link->dev, "ray_cs associate - device not present\n"); |
| 2621 | return; | 2610 | return; |
| 2622 | } | 2611 | } |
| 2623 | /* If no tx buffers available, return */ | 2612 | /* If no tx buffers available, return */ |
| 2624 | if ((ccsindex = get_free_ccs(local)) < 0) { | 2613 | if ((ccsindex = get_free_ccs(local)) < 0) { |
| 2625 | /* TBD should never be here but... what if we are? */ | 2614 | /* TBD should never be here but... what if we are? */ |
| 2626 | DEBUG(1, "ray_cs associate - No free ccs\n"); | 2615 | dev_dbg(&link->dev, "ray_cs associate - No free ccs\n"); |
| 2627 | return; | 2616 | return; |
| 2628 | } | 2617 | } |
| 2629 | DEBUG(1, "ray_cs Starting association with access point\n"); | 2618 | dev_dbg(&link->dev, "ray_cs Starting association with access point\n"); |
| 2630 | pccs = ccs_base(local) + ccsindex; | 2619 | pccs = ccs_base(local) + ccsindex; |
| 2631 | /* fill in the CCS */ | 2620 | /* fill in the CCS */ |
| 2632 | writeb(CCS_START_ASSOCIATION, &pccs->cmd); | 2621 | writeb(CCS_START_ASSOCIATION, &pccs->cmd); |
| 2633 | /* Interrupt the firmware to process the command */ | 2622 | /* Interrupt the firmware to process the command */ |
| 2634 | if (interrupt_ecf(local, ccsindex)) { | 2623 | if (interrupt_ecf(local, ccsindex)) { |
| 2635 | DEBUG(1, "ray_cs associate failed - ECF not ready for intr\n"); | 2624 | dev_dbg(&link->dev, "ray_cs associate failed - ECF not ready for intr\n"); |
| 2636 | writeb(CCS_BUFFER_FREE, &(pccs++)->buffer_status); | 2625 | writeb(CCS_BUFFER_FREE, &(pccs++)->buffer_status); |
| 2637 | 2626 | ||
| 2638 | del_timer(&local->timer); | 2627 | del_timer(&local->timer); |
| @@ -2655,7 +2644,7 @@ static void rx_deauthenticate(ray_dev_t *local, struct rcs __iomem *prcs, | |||
| 2655 | /* UCHAR buff[256]; | 2644 | /* UCHAR buff[256]; |
| 2656 | struct rx_msg *msg = (struct rx_msg *)buff; | 2645 | struct rx_msg *msg = (struct rx_msg *)buff; |
| 2657 | */ | 2646 | */ |
| 2658 | DEBUG(0, "Deauthentication frame received\n"); | 2647 | pr_debug("Deauthentication frame received\n"); |
| 2659 | local->authentication_state = UNAUTHENTICATED; | 2648 | local->authentication_state = UNAUTHENTICATED; |
| 2660 | /* Need to reauthenticate or rejoin depending on reason code */ | 2649 | /* Need to reauthenticate or rejoin depending on reason code */ |
| 2661 | /* copy_from_rx_buff(local, buff, pkt_addr, rx_len & 0xff); | 2650 | /* copy_from_rx_buff(local, buff, pkt_addr, rx_len & 0xff); |
| @@ -2823,7 +2812,7 @@ static int build_auth_frame(ray_dev_t *local, UCHAR *dest, int auth_type) | |||
| 2823 | 2812 | ||
| 2824 | /* If no tx buffers available, return */ | 2813 | /* If no tx buffers available, return */ |
| 2825 | if ((ccsindex = get_free_tx_ccs(local)) < 0) { | 2814 | if ((ccsindex = get_free_tx_ccs(local)) < 0) { |
| 2826 | DEBUG(1, "ray_cs send authenticate - No free tx ccs\n"); | 2815 | pr_debug("ray_cs send authenticate - No free tx ccs\n"); |
| 2827 | return -1; | 2816 | return -1; |
| 2828 | } | 2817 | } |
| 2829 | 2818 | ||
| @@ -2855,7 +2844,7 @@ static int build_auth_frame(ray_dev_t *local, UCHAR *dest, int auth_type) | |||
| 2855 | 2844 | ||
| 2856 | /* Interrupt the firmware to process the command */ | 2845 | /* Interrupt the firmware to process the command */ |
| 2857 | if (interrupt_ecf(local, ccsindex)) { | 2846 | if (interrupt_ecf(local, ccsindex)) { |
| 2858 | DEBUG(1, | 2847 | pr_debug( |
| 2859 | "ray_cs send authentication request failed - ECF not ready for intr\n"); | 2848 | "ray_cs send authentication request failed - ECF not ready for intr\n"); |
| 2860 | writeb(CCS_BUFFER_FREE, &(pccs++)->buffer_status); | 2849 | writeb(CCS_BUFFER_FREE, &(pccs++)->buffer_status); |
| 2861 | return -1; | 2850 | return -1; |
| @@ -2942,9 +2931,9 @@ static int __init init_ray_cs(void) | |||
| 2942 | { | 2931 | { |
| 2943 | int rc; | 2932 | int rc; |
| 2944 | 2933 | ||
| 2945 | DEBUG(1, "%s\n", rcsid); | 2934 | pr_debug("%s\n", rcsid); |
| 2946 | rc = pcmcia_register_driver(&ray_driver); | 2935 | rc = pcmcia_register_driver(&ray_driver); |
| 2947 | DEBUG(1, "raylink init_module register_pcmcia_driver returns 0x%x\n", | 2936 | pr_debug("raylink init_module register_pcmcia_driver returns 0x%x\n", |
| 2948 | rc); | 2937 | rc); |
| 2949 | 2938 | ||
| 2950 | #ifdef CONFIG_PROC_FS | 2939 | #ifdef CONFIG_PROC_FS |
| @@ -2964,7 +2953,7 @@ static int __init init_ray_cs(void) | |||
| 2964 | 2953 | ||
| 2965 | static void __exit exit_ray_cs(void) | 2954 | static void __exit exit_ray_cs(void) |
| 2966 | { | 2955 | { |
| 2967 | DEBUG(0, "ray_cs: cleanup_module\n"); | 2956 | pr_debug("ray_cs: cleanup_module\n"); |
| 2968 | 2957 | ||
| 2969 | #ifdef CONFIG_PROC_FS | 2958 | #ifdef CONFIG_PROC_FS |
| 2970 | remove_proc_entry("driver/ray_cs/ray_cs", NULL); | 2959 | remove_proc_entry("driver/ray_cs/ray_cs", NULL); |
