diff options
Diffstat (limited to 'drivers/net')
55 files changed, 377 insertions, 1686 deletions
diff --git a/drivers/net/Kconfig b/drivers/net/Kconfig index f4182cfffe9d..45a41b597da9 100644 --- a/drivers/net/Kconfig +++ b/drivers/net/Kconfig | |||
@@ -217,7 +217,7 @@ config MII | |||
217 | 217 | ||
218 | config MACB | 218 | config MACB |
219 | tristate "Atmel MACB support" | 219 | tristate "Atmel MACB support" |
220 | depends on AVR32 || ARCH_AT91SAM9260 || ARCH_AT91SAM9263 || ARCH_AT91CAP9 | 220 | depends on AVR32 || ARCH_AT91SAM9260 || ARCH_AT91SAM9263 || ARCH_AT91SAM9G20 || ARCH_AT91CAP9 |
221 | select PHYLIB | 221 | select PHYLIB |
222 | help | 222 | help |
223 | The Atmel MACB ethernet interface is found on many AT32 and AT91 | 223 | The Atmel MACB ethernet interface is found on many AT32 and AT91 |
diff --git a/drivers/net/arm/etherh.c b/drivers/net/arm/etherh.c index 00081d2b9cd5..e9d15eccad08 100644 --- a/drivers/net/arm/etherh.c +++ b/drivers/net/arm/etherh.c | |||
@@ -647,7 +647,7 @@ etherh_probe(struct expansion_card *ec, const struct ecard_id *id) | |||
647 | struct ei_device *ei_local; | 647 | struct ei_device *ei_local; |
648 | struct net_device *dev; | 648 | struct net_device *dev; |
649 | struct etherh_priv *eh; | 649 | struct etherh_priv *eh; |
650 | int i, ret; | 650 | int ret; |
651 | DECLARE_MAC_BUF(mac); | 651 | DECLARE_MAC_BUF(mac); |
652 | 652 | ||
653 | etherh_banner(); | 653 | etherh_banner(); |
diff --git a/drivers/net/cxgb3/common.h b/drivers/net/cxgb3/common.h index 579bee42a5cb..8e8ebd788537 100644 --- a/drivers/net/cxgb3/common.h +++ b/drivers/net/cxgb3/common.h | |||
@@ -686,8 +686,9 @@ int t3_seeprom_write(struct adapter *adapter, u32 addr, __le32 data); | |||
686 | int t3_seeprom_wp(struct adapter *adapter, int enable); | 686 | int t3_seeprom_wp(struct adapter *adapter, int enable); |
687 | int t3_get_tp_version(struct adapter *adapter, u32 *vers); | 687 | int t3_get_tp_version(struct adapter *adapter, u32 *vers); |
688 | int t3_check_tpsram_version(struct adapter *adapter, int *must_load); | 688 | int t3_check_tpsram_version(struct adapter *adapter, int *must_load); |
689 | int t3_check_tpsram(struct adapter *adapter, u8 *tp_ram, unsigned int size); | 689 | int t3_check_tpsram(struct adapter *adapter, const u8 *tp_ram, |
690 | int t3_set_proto_sram(struct adapter *adap, u8 *data); | 690 | unsigned int size); |
691 | int t3_set_proto_sram(struct adapter *adap, const u8 *data); | ||
691 | int t3_read_flash(struct adapter *adapter, unsigned int addr, | 692 | int t3_read_flash(struct adapter *adapter, unsigned int addr, |
692 | unsigned int nwords, u32 *data, int byte_oriented); | 693 | unsigned int nwords, u32 *data, int byte_oriented); |
693 | int t3_load_fw(struct adapter *adapter, const u8 * fw_data, unsigned int size); | 694 | int t3_load_fw(struct adapter *adapter, const u8 * fw_data, unsigned int size); |
diff --git a/drivers/net/cxgb3/cxgb3_ctl_defs.h b/drivers/net/cxgb3/cxgb3_ctl_defs.h index 6c4f32066919..ed0ecd9679cb 100644 --- a/drivers/net/cxgb3/cxgb3_ctl_defs.h +++ b/drivers/net/cxgb3/cxgb3_ctl_defs.h | |||
@@ -54,6 +54,7 @@ enum { | |||
54 | RDMA_CQ_DISABLE = 16, | 54 | RDMA_CQ_DISABLE = 16, |
55 | RDMA_CTRL_QP_SETUP = 17, | 55 | RDMA_CTRL_QP_SETUP = 17, |
56 | RDMA_GET_MEM = 18, | 56 | RDMA_GET_MEM = 18, |
57 | RDMA_GET_MIB = 19, | ||
57 | 58 | ||
58 | GET_RX_PAGE_INFO = 50, | 59 | GET_RX_PAGE_INFO = 50, |
59 | }; | 60 | }; |
diff --git a/drivers/net/cxgb3/cxgb3_offload.c b/drivers/net/cxgb3/cxgb3_offload.c index ff9c013ce535..cf2696873796 100644 --- a/drivers/net/cxgb3/cxgb3_offload.c +++ b/drivers/net/cxgb3/cxgb3_offload.c | |||
@@ -303,6 +303,12 @@ static int cxgb_rdma_ctl(struct adapter *adapter, unsigned int req, void *data) | |||
303 | spin_unlock_irq(&adapter->sge.reg_lock); | 303 | spin_unlock_irq(&adapter->sge.reg_lock); |
304 | break; | 304 | break; |
305 | } | 305 | } |
306 | case RDMA_GET_MIB: { | ||
307 | spin_lock(&adapter->stats_lock); | ||
308 | t3_tp_get_mib_stats(adapter, (struct tp_mib_stats *)data); | ||
309 | spin_unlock(&adapter->stats_lock); | ||
310 | break; | ||
311 | } | ||
306 | default: | 312 | default: |
307 | ret = -EOPNOTSUPP; | 313 | ret = -EOPNOTSUPP; |
308 | } | 314 | } |
@@ -381,6 +387,7 @@ static int cxgb_offload_ctl(struct t3cdev *tdev, unsigned int req, void *data) | |||
381 | case RDMA_CQ_DISABLE: | 387 | case RDMA_CQ_DISABLE: |
382 | case RDMA_CTRL_QP_SETUP: | 388 | case RDMA_CTRL_QP_SETUP: |
383 | case RDMA_GET_MEM: | 389 | case RDMA_GET_MEM: |
390 | case RDMA_GET_MIB: | ||
384 | if (!offload_running(adapter)) | 391 | if (!offload_running(adapter)) |
385 | return -EAGAIN; | 392 | return -EAGAIN; |
386 | return cxgb_rdma_ctl(adapter, req, data); | 393 | return cxgb_rdma_ctl(adapter, req, data); |
diff --git a/drivers/net/cxgb3/t3_hw.c b/drivers/net/cxgb3/t3_hw.c index d405a932c73a..47d51788a462 100644 --- a/drivers/net/cxgb3/t3_hw.c +++ b/drivers/net/cxgb3/t3_hw.c | |||
@@ -923,7 +923,8 @@ int t3_check_tpsram_version(struct adapter *adapter, int *must_load) | |||
923 | * Checks if an adapter's tp sram is compatible with the driver. | 923 | * Checks if an adapter's tp sram is compatible with the driver. |
924 | * Returns 0 if the versions are compatible, a negative error otherwise. | 924 | * Returns 0 if the versions are compatible, a negative error otherwise. |
925 | */ | 925 | */ |
926 | int t3_check_tpsram(struct adapter *adapter, u8 *tp_sram, unsigned int size) | 926 | int t3_check_tpsram(struct adapter *adapter, const u8 *tp_sram, |
927 | unsigned int size) | ||
927 | { | 928 | { |
928 | u32 csum; | 929 | u32 csum; |
929 | unsigned int i; | 930 | unsigned int i; |
@@ -2875,10 +2876,10 @@ static void ulp_config(struct adapter *adap, const struct tp_params *p) | |||
2875 | * | 2876 | * |
2876 | * Write the contents of the protocol SRAM. | 2877 | * Write the contents of the protocol SRAM. |
2877 | */ | 2878 | */ |
2878 | int t3_set_proto_sram(struct adapter *adap, u8 *data) | 2879 | int t3_set_proto_sram(struct adapter *adap, const u8 *data) |
2879 | { | 2880 | { |
2880 | int i; | 2881 | int i; |
2881 | __be32 *buf = (__be32 *)data; | 2882 | const __be32 *buf = (const __be32 *)data; |
2882 | 2883 | ||
2883 | for (i = 0; i < PROTO_SRAM_LINES; i++) { | 2884 | for (i = 0; i < PROTO_SRAM_LINES; i++) { |
2884 | t3_write_reg(adap, A_TP_EMBED_OP_FIELD5, be32_to_cpu(*buf++)); | 2885 | t3_write_reg(adap, A_TP_EMBED_OP_FIELD5, be32_to_cpu(*buf++)); |
diff --git a/drivers/net/cxgb3/version.h b/drivers/net/cxgb3/version.h index a0177fc55e28..29db711303b9 100644 --- a/drivers/net/cxgb3/version.h +++ b/drivers/net/cxgb3/version.h | |||
@@ -38,7 +38,7 @@ | |||
38 | #define DRV_VERSION "1.0-ko" | 38 | #define DRV_VERSION "1.0-ko" |
39 | 39 | ||
40 | /* Firmware version */ | 40 | /* Firmware version */ |
41 | #define FW_VERSION_MAJOR 6 | 41 | #define FW_VERSION_MAJOR 7 |
42 | #define FW_VERSION_MINOR 0 | 42 | #define FW_VERSION_MINOR 0 |
43 | #define FW_VERSION_MICRO 0 | 43 | #define FW_VERSION_MICRO 0 |
44 | #endif /* __CHELSIO_VERSION_H */ | 44 | #endif /* __CHELSIO_VERSION_H */ |
diff --git a/drivers/net/ehea/ehea.h b/drivers/net/ehea/ehea.h index fe872fbd671e..e01926b7b5b7 100644 --- a/drivers/net/ehea/ehea.h +++ b/drivers/net/ehea/ehea.h | |||
@@ -40,7 +40,7 @@ | |||
40 | #include <asm/io.h> | 40 | #include <asm/io.h> |
41 | 41 | ||
42 | #define DRV_NAME "ehea" | 42 | #define DRV_NAME "ehea" |
43 | #define DRV_VERSION "EHEA_0091" | 43 | #define DRV_VERSION "EHEA_0092" |
44 | 44 | ||
45 | /* eHEA capability flags */ | 45 | /* eHEA capability flags */ |
46 | #define DLPAR_PORT_ADD_REM 1 | 46 | #define DLPAR_PORT_ADD_REM 1 |
@@ -452,7 +452,7 @@ struct ehea_bcmc_reg_entry { | |||
452 | struct ehea_bcmc_reg_array { | 452 | struct ehea_bcmc_reg_array { |
453 | struct ehea_bcmc_reg_entry *arr; | 453 | struct ehea_bcmc_reg_entry *arr; |
454 | int num_entries; | 454 | int num_entries; |
455 | struct mutex lock; | 455 | spinlock_t lock; |
456 | }; | 456 | }; |
457 | 457 | ||
458 | #define EHEA_PORT_UP 1 | 458 | #define EHEA_PORT_UP 1 |
@@ -478,6 +478,7 @@ struct ehea_port { | |||
478 | int num_add_tx_qps; | 478 | int num_add_tx_qps; |
479 | int num_mcs; | 479 | int num_mcs; |
480 | int resets; | 480 | int resets; |
481 | u64 flags; | ||
481 | u64 mac_addr; | 482 | u64 mac_addr; |
482 | u32 logical_port_id; | 483 | u32 logical_port_id; |
483 | u32 port_speed; | 484 | u32 port_speed; |
@@ -501,7 +502,8 @@ struct port_res_cfg { | |||
501 | }; | 502 | }; |
502 | 503 | ||
503 | enum ehea_flag_bits { | 504 | enum ehea_flag_bits { |
504 | __EHEA_STOP_XFER | 505 | __EHEA_STOP_XFER, |
506 | __EHEA_DISABLE_PORT_RESET | ||
505 | }; | 507 | }; |
506 | 508 | ||
507 | void ehea_set_ethtool_ops(struct net_device *netdev); | 509 | void ehea_set_ethtool_ops(struct net_device *netdev); |
diff --git a/drivers/net/ehea/ehea_main.c b/drivers/net/ehea/ehea_main.c index 075fd547421e..0920b796bd78 100644 --- a/drivers/net/ehea/ehea_main.c +++ b/drivers/net/ehea/ehea_main.c | |||
@@ -118,6 +118,7 @@ static struct of_device_id ehea_device_table[] = { | |||
118 | }, | 118 | }, |
119 | {}, | 119 | {}, |
120 | }; | 120 | }; |
121 | MODULE_DEVICE_TABLE(of, ehea_device_table); | ||
121 | 122 | ||
122 | static struct of_platform_driver ehea_driver = { | 123 | static struct of_platform_driver ehea_driver = { |
123 | .name = "ehea", | 124 | .name = "ehea", |
@@ -137,6 +138,12 @@ void ehea_dump(void *adr, int len, char *msg) | |||
137 | } | 138 | } |
138 | } | 139 | } |
139 | 140 | ||
141 | void ehea_schedule_port_reset(struct ehea_port *port) | ||
142 | { | ||
143 | if (!test_bit(__EHEA_DISABLE_PORT_RESET, &port->flags)) | ||
144 | schedule_work(&port->reset_task); | ||
145 | } | ||
146 | |||
140 | static void ehea_update_firmware_handles(void) | 147 | static void ehea_update_firmware_handles(void) |
141 | { | 148 | { |
142 | struct ehea_fw_handle_entry *arr = NULL; | 149 | struct ehea_fw_handle_entry *arr = NULL; |
@@ -241,7 +248,7 @@ static void ehea_update_bcmc_registrations(void) | |||
241 | } | 248 | } |
242 | 249 | ||
243 | if (num_registrations) { | 250 | if (num_registrations) { |
244 | arr = kzalloc(num_registrations * sizeof(*arr), GFP_KERNEL); | 251 | arr = kzalloc(num_registrations * sizeof(*arr), GFP_ATOMIC); |
245 | if (!arr) | 252 | if (!arr) |
246 | return; /* Keep the existing array */ | 253 | return; /* Keep the existing array */ |
247 | } else | 254 | } else |
@@ -301,7 +308,7 @@ static struct net_device_stats *ehea_get_stats(struct net_device *dev) | |||
301 | 308 | ||
302 | memset(stats, 0, sizeof(*stats)); | 309 | memset(stats, 0, sizeof(*stats)); |
303 | 310 | ||
304 | cb2 = kzalloc(PAGE_SIZE, GFP_KERNEL); | 311 | cb2 = kzalloc(PAGE_SIZE, GFP_ATOMIC); |
305 | if (!cb2) { | 312 | if (!cb2) { |
306 | ehea_error("no mem for cb2"); | 313 | ehea_error("no mem for cb2"); |
307 | goto out; | 314 | goto out; |
@@ -587,7 +594,7 @@ static int ehea_treat_poll_error(struct ehea_port_res *pr, int rq, | |||
587 | "Resetting port.", pr->qp->init_attr.qp_nr); | 594 | "Resetting port.", pr->qp->init_attr.qp_nr); |
588 | ehea_dump(cqe, sizeof(*cqe), "CQE"); | 595 | ehea_dump(cqe, sizeof(*cqe), "CQE"); |
589 | } | 596 | } |
590 | schedule_work(&pr->port->reset_task); | 597 | ehea_schedule_port_reset(pr->port); |
591 | return 1; | 598 | return 1; |
592 | } | 599 | } |
593 | 600 | ||
@@ -616,7 +623,7 @@ static int get_skb_hdr(struct sk_buff *skb, void **iphdr, | |||
616 | *tcph = tcp_hdr(skb); | 623 | *tcph = tcp_hdr(skb); |
617 | 624 | ||
618 | /* check if ip header and tcp header are complete */ | 625 | /* check if ip header and tcp header are complete */ |
619 | if (iph->tot_len < ip_len + tcp_hdrlen(skb)) | 626 | if (ntohs(iph->tot_len) < ip_len + tcp_hdrlen(skb)) |
620 | return -1; | 627 | return -1; |
621 | 628 | ||
622 | *hdr_flags = LRO_IPV4 | LRO_TCP; | 629 | *hdr_flags = LRO_IPV4 | LRO_TCP; |
@@ -765,7 +772,7 @@ static struct ehea_cqe *ehea_proc_cqes(struct ehea_port_res *pr, int my_quota) | |||
765 | ehea_error("Send Completion Error: Resetting port"); | 772 | ehea_error("Send Completion Error: Resetting port"); |
766 | if (netif_msg_tx_err(pr->port)) | 773 | if (netif_msg_tx_err(pr->port)) |
767 | ehea_dump(cqe, sizeof(*cqe), "Send CQE"); | 774 | ehea_dump(cqe, sizeof(*cqe), "Send CQE"); |
768 | schedule_work(&pr->port->reset_task); | 775 | ehea_schedule_port_reset(pr->port); |
769 | break; | 776 | break; |
770 | } | 777 | } |
771 | 778 | ||
@@ -885,7 +892,7 @@ static irqreturn_t ehea_qp_aff_irq_handler(int irq, void *param) | |||
885 | eqe = ehea_poll_eq(port->qp_eq); | 892 | eqe = ehea_poll_eq(port->qp_eq); |
886 | } | 893 | } |
887 | 894 | ||
888 | schedule_work(&port->reset_task); | 895 | ehea_schedule_port_reset(port); |
889 | 896 | ||
890 | return IRQ_HANDLED; | 897 | return IRQ_HANDLED; |
891 | } | 898 | } |
@@ -1763,7 +1770,7 @@ static int ehea_set_mac_addr(struct net_device *dev, void *sa) | |||
1763 | 1770 | ||
1764 | memcpy(dev->dev_addr, mac_addr->sa_data, dev->addr_len); | 1771 | memcpy(dev->dev_addr, mac_addr->sa_data, dev->addr_len); |
1765 | 1772 | ||
1766 | mutex_lock(&ehea_bcmc_regs.lock); | 1773 | spin_lock(&ehea_bcmc_regs.lock); |
1767 | 1774 | ||
1768 | /* Deregister old MAC in pHYP */ | 1775 | /* Deregister old MAC in pHYP */ |
1769 | if (port->state == EHEA_PORT_UP) { | 1776 | if (port->state == EHEA_PORT_UP) { |
@@ -1785,7 +1792,7 @@ static int ehea_set_mac_addr(struct net_device *dev, void *sa) | |||
1785 | 1792 | ||
1786 | out_upregs: | 1793 | out_upregs: |
1787 | ehea_update_bcmc_registrations(); | 1794 | ehea_update_bcmc_registrations(); |
1788 | mutex_unlock(&ehea_bcmc_regs.lock); | 1795 | spin_unlock(&ehea_bcmc_regs.lock); |
1789 | out_free: | 1796 | out_free: |
1790 | kfree(cb0); | 1797 | kfree(cb0); |
1791 | out: | 1798 | out: |
@@ -1947,7 +1954,7 @@ static void ehea_set_multicast_list(struct net_device *dev) | |||
1947 | } | 1954 | } |
1948 | ehea_promiscuous(dev, 0); | 1955 | ehea_promiscuous(dev, 0); |
1949 | 1956 | ||
1950 | mutex_lock(&ehea_bcmc_regs.lock); | 1957 | spin_lock(&ehea_bcmc_regs.lock); |
1951 | 1958 | ||
1952 | if (dev->flags & IFF_ALLMULTI) { | 1959 | if (dev->flags & IFF_ALLMULTI) { |
1953 | ehea_allmulti(dev, 1); | 1960 | ehea_allmulti(dev, 1); |
@@ -1978,7 +1985,7 @@ static void ehea_set_multicast_list(struct net_device *dev) | |||
1978 | } | 1985 | } |
1979 | out: | 1986 | out: |
1980 | ehea_update_bcmc_registrations(); | 1987 | ehea_update_bcmc_registrations(); |
1981 | mutex_unlock(&ehea_bcmc_regs.lock); | 1988 | spin_unlock(&ehea_bcmc_regs.lock); |
1982 | return; | 1989 | return; |
1983 | } | 1990 | } |
1984 | 1991 | ||
@@ -2497,7 +2504,7 @@ static int ehea_up(struct net_device *dev) | |||
2497 | } | 2504 | } |
2498 | } | 2505 | } |
2499 | 2506 | ||
2500 | mutex_lock(&ehea_bcmc_regs.lock); | 2507 | spin_lock(&ehea_bcmc_regs.lock); |
2501 | 2508 | ||
2502 | ret = ehea_broadcast_reg_helper(port, H_REG_BCMC); | 2509 | ret = ehea_broadcast_reg_helper(port, H_REG_BCMC); |
2503 | if (ret) { | 2510 | if (ret) { |
@@ -2520,7 +2527,7 @@ out: | |||
2520 | ehea_info("Failed starting %s. ret=%i", dev->name, ret); | 2527 | ehea_info("Failed starting %s. ret=%i", dev->name, ret); |
2521 | 2528 | ||
2522 | ehea_update_bcmc_registrations(); | 2529 | ehea_update_bcmc_registrations(); |
2523 | mutex_unlock(&ehea_bcmc_regs.lock); | 2530 | spin_unlock(&ehea_bcmc_regs.lock); |
2524 | 2531 | ||
2525 | ehea_update_firmware_handles(); | 2532 | ehea_update_firmware_handles(); |
2526 | mutex_unlock(&ehea_fw_handles.lock); | 2533 | mutex_unlock(&ehea_fw_handles.lock); |
@@ -2575,7 +2582,7 @@ static int ehea_down(struct net_device *dev) | |||
2575 | 2582 | ||
2576 | mutex_lock(&ehea_fw_handles.lock); | 2583 | mutex_lock(&ehea_fw_handles.lock); |
2577 | 2584 | ||
2578 | mutex_lock(&ehea_bcmc_regs.lock); | 2585 | spin_lock(&ehea_bcmc_regs.lock); |
2579 | ehea_drop_multicast_list(dev); | 2586 | ehea_drop_multicast_list(dev); |
2580 | ehea_broadcast_reg_helper(port, H_DEREG_BCMC); | 2587 | ehea_broadcast_reg_helper(port, H_DEREG_BCMC); |
2581 | 2588 | ||
@@ -2584,7 +2591,7 @@ static int ehea_down(struct net_device *dev) | |||
2584 | port->state = EHEA_PORT_DOWN; | 2591 | port->state = EHEA_PORT_DOWN; |
2585 | 2592 | ||
2586 | ehea_update_bcmc_registrations(); | 2593 | ehea_update_bcmc_registrations(); |
2587 | mutex_unlock(&ehea_bcmc_regs.lock); | 2594 | spin_unlock(&ehea_bcmc_regs.lock); |
2588 | 2595 | ||
2589 | ret = ehea_clean_all_portres(port); | 2596 | ret = ehea_clean_all_portres(port); |
2590 | if (ret) | 2597 | if (ret) |
@@ -2605,13 +2612,14 @@ static int ehea_stop(struct net_device *dev) | |||
2605 | if (netif_msg_ifdown(port)) | 2612 | if (netif_msg_ifdown(port)) |
2606 | ehea_info("disabling port %s", dev->name); | 2613 | ehea_info("disabling port %s", dev->name); |
2607 | 2614 | ||
2615 | set_bit(__EHEA_DISABLE_PORT_RESET, &port->flags); | ||
2608 | cancel_work_sync(&port->reset_task); | 2616 | cancel_work_sync(&port->reset_task); |
2609 | |||
2610 | mutex_lock(&port->port_lock); | 2617 | mutex_lock(&port->port_lock); |
2611 | netif_stop_queue(dev); | 2618 | netif_stop_queue(dev); |
2612 | port_napi_disable(port); | 2619 | port_napi_disable(port); |
2613 | ret = ehea_down(dev); | 2620 | ret = ehea_down(dev); |
2614 | mutex_unlock(&port->port_lock); | 2621 | mutex_unlock(&port->port_lock); |
2622 | clear_bit(__EHEA_DISABLE_PORT_RESET, &port->flags); | ||
2615 | return ret; | 2623 | return ret; |
2616 | } | 2624 | } |
2617 | 2625 | ||
@@ -2941,7 +2949,7 @@ static void ehea_tx_watchdog(struct net_device *dev) | |||
2941 | 2949 | ||
2942 | if (netif_carrier_ok(dev) && | 2950 | if (netif_carrier_ok(dev) && |
2943 | !test_bit(__EHEA_STOP_XFER, &ehea_driver_flags)) | 2951 | !test_bit(__EHEA_STOP_XFER, &ehea_driver_flags)) |
2944 | schedule_work(&port->reset_task); | 2952 | ehea_schedule_port_reset(port); |
2945 | } | 2953 | } |
2946 | 2954 | ||
2947 | int ehea_sense_adapter_attr(struct ehea_adapter *adapter) | 2955 | int ehea_sense_adapter_attr(struct ehea_adapter *adapter) |
@@ -3590,7 +3598,7 @@ int __init ehea_module_init(void) | |||
3590 | memset(&ehea_bcmc_regs, 0, sizeof(ehea_bcmc_regs)); | 3598 | memset(&ehea_bcmc_regs, 0, sizeof(ehea_bcmc_regs)); |
3591 | 3599 | ||
3592 | mutex_init(&ehea_fw_handles.lock); | 3600 | mutex_init(&ehea_fw_handles.lock); |
3593 | mutex_init(&ehea_bcmc_regs.lock); | 3601 | spin_lock_init(&ehea_bcmc_regs.lock); |
3594 | 3602 | ||
3595 | ret = check_module_parm(); | 3603 | ret = check_module_parm(); |
3596 | if (ret) | 3604 | if (ret) |
diff --git a/drivers/net/forcedeth.c b/drivers/net/forcedeth.c index 2cb244763292..20d4fe96a81c 100644 --- a/drivers/net/forcedeth.c +++ b/drivers/net/forcedeth.c | |||
@@ -4194,12 +4194,23 @@ static int nv_set_settings(struct net_device *dev, struct ethtool_cmd *ecmd) | |||
4194 | 4194 | ||
4195 | netif_carrier_off(dev); | 4195 | netif_carrier_off(dev); |
4196 | if (netif_running(dev)) { | 4196 | if (netif_running(dev)) { |
4197 | unsigned long flags; | ||
4198 | |||
4197 | nv_disable_irq(dev); | 4199 | nv_disable_irq(dev); |
4198 | netif_tx_lock_bh(dev); | 4200 | netif_tx_lock_bh(dev); |
4199 | spin_lock(&np->lock); | 4201 | /* with plain spinlock lockdep complains */ |
4202 | spin_lock_irqsave(&np->lock, flags); | ||
4200 | /* stop engines */ | 4203 | /* stop engines */ |
4204 | /* FIXME: | ||
4205 | * this can take some time, and interrupts are disabled | ||
4206 | * due to spin_lock_irqsave, but let's hope no daemon | ||
4207 | * is going to change the settings very often... | ||
4208 | * Worst case: | ||
4209 | * NV_RXSTOP_DELAY1MAX + NV_TXSTOP_DELAY1MAX | ||
4210 | * + some minor delays, which is up to a second approximately | ||
4211 | */ | ||
4201 | nv_stop_rxtx(dev); | 4212 | nv_stop_rxtx(dev); |
4202 | spin_unlock(&np->lock); | 4213 | spin_unlock_irqrestore(&np->lock, flags); |
4203 | netif_tx_unlock_bh(dev); | 4214 | netif_tx_unlock_bh(dev); |
4204 | } | 4215 | } |
4205 | 4216 | ||
diff --git a/drivers/net/fs_enet/mac-fcc.c b/drivers/net/fs_enet/mac-fcc.c index e36321152d50..8268b3535b30 100644 --- a/drivers/net/fs_enet/mac-fcc.c +++ b/drivers/net/fs_enet/mac-fcc.c | |||
@@ -463,6 +463,9 @@ static void restart(struct net_device *dev) | |||
463 | else | 463 | else |
464 | C32(fccp, fcc_fpsmr, FCC_PSMR_FDE | FCC_PSMR_LPB); | 464 | C32(fccp, fcc_fpsmr, FCC_PSMR_FDE | FCC_PSMR_LPB); |
465 | 465 | ||
466 | /* Restore multicast and promiscuous settings */ | ||
467 | set_multicast_list(dev); | ||
468 | |||
466 | S32(fccp, fcc_gfmr, FCC_GFMR_ENR | FCC_GFMR_ENT); | 469 | S32(fccp, fcc_gfmr, FCC_GFMR_ENR | FCC_GFMR_ENT); |
467 | } | 470 | } |
468 | 471 | ||
diff --git a/drivers/net/ibm_newemac/core.c b/drivers/net/ibm_newemac/core.c index 5d2108c5ac7c..babc79ad490b 100644 --- a/drivers/net/ibm_newemac/core.c +++ b/drivers/net/ibm_newemac/core.c | |||
@@ -1636,6 +1636,12 @@ static int emac_poll_rx(void *param, int budget) | |||
1636 | goto next; | 1636 | goto next; |
1637 | } | 1637 | } |
1638 | 1638 | ||
1639 | if (len < ETH_HLEN) { | ||
1640 | ++dev->estats.rx_dropped_stack; | ||
1641 | emac_recycle_rx_skb(dev, slot, len); | ||
1642 | goto next; | ||
1643 | } | ||
1644 | |||
1639 | if (len && len < EMAC_RX_COPY_THRESH) { | 1645 | if (len && len < EMAC_RX_COPY_THRESH) { |
1640 | struct sk_buff *copy_skb = | 1646 | struct sk_buff *copy_skb = |
1641 | alloc_skb(len + EMAC_RX_SKB_HEADROOM + 2, GFP_ATOMIC); | 1647 | alloc_skb(len + EMAC_RX_SKB_HEADROOM + 2, GFP_ATOMIC); |
@@ -2719,6 +2725,8 @@ static int __devinit emac_probe(struct of_device *ofdev, | |||
2719 | /* Clean rings */ | 2725 | /* Clean rings */ |
2720 | memset(dev->tx_desc, 0, NUM_TX_BUFF * sizeof(struct mal_descriptor)); | 2726 | memset(dev->tx_desc, 0, NUM_TX_BUFF * sizeof(struct mal_descriptor)); |
2721 | memset(dev->rx_desc, 0, NUM_RX_BUFF * sizeof(struct mal_descriptor)); | 2727 | memset(dev->rx_desc, 0, NUM_RX_BUFF * sizeof(struct mal_descriptor)); |
2728 | memset(dev->tx_skb, 0, NUM_TX_BUFF * sizeof(struct sk_buff *)); | ||
2729 | memset(dev->rx_skb, 0, NUM_RX_BUFF * sizeof(struct sk_buff *)); | ||
2722 | 2730 | ||
2723 | /* Attach to ZMII, if needed */ | 2731 | /* Attach to ZMII, if needed */ |
2724 | if (emac_has_feature(dev, EMAC_FTR_HAS_ZMII) && | 2732 | if (emac_has_feature(dev, EMAC_FTR_HAS_ZMII) && |
diff --git a/drivers/net/irda/irda-usb.c b/drivers/net/irda/irda-usb.c index 6f50ed7b183f..18b471cd1447 100644 --- a/drivers/net/irda/irda-usb.c +++ b/drivers/net/irda/irda-usb.c | |||
@@ -1024,7 +1024,7 @@ static int irda_usb_is_receiving(struct irda_usb_cb *self) | |||
1024 | * Upload firmware code to SigmaTel 421X IRDA-USB dongle | 1024 | * Upload firmware code to SigmaTel 421X IRDA-USB dongle |
1025 | */ | 1025 | */ |
1026 | static int stir421x_fw_upload(struct irda_usb_cb *self, | 1026 | static int stir421x_fw_upload(struct irda_usb_cb *self, |
1027 | unsigned char *patch, | 1027 | const unsigned char *patch, |
1028 | const unsigned int patch_len) | 1028 | const unsigned int patch_len) |
1029 | { | 1029 | { |
1030 | int ret = -ENOMEM; | 1030 | int ret = -ENOMEM; |
@@ -1073,11 +1073,11 @@ static int stir421x_fw_upload(struct irda_usb_cb *self, | |||
1073 | */ | 1073 | */ |
1074 | static int stir421x_patch_device(struct irda_usb_cb *self) | 1074 | static int stir421x_patch_device(struct irda_usb_cb *self) |
1075 | { | 1075 | { |
1076 | unsigned int i; | 1076 | unsigned int i; |
1077 | int ret; | 1077 | int ret; |
1078 | char stir421x_fw_name[11]; | 1078 | char stir421x_fw_name[11]; |
1079 | const struct firmware *fw; | 1079 | const struct firmware *fw; |
1080 | unsigned char *fw_version_ptr; /* pointer to version string */ | 1080 | const unsigned char *fw_version_ptr; /* pointer to version string */ |
1081 | unsigned long fw_version = 0; | 1081 | unsigned long fw_version = 0; |
1082 | 1082 | ||
1083 | /* | 1083 | /* |
diff --git a/drivers/net/irda/nsc-ircc.c b/drivers/net/irda/nsc-ircc.c index a7714da7c283..effc1ce8179a 100644 --- a/drivers/net/irda/nsc-ircc.c +++ b/drivers/net/irda/nsc-ircc.c | |||
@@ -152,6 +152,7 @@ static chipio_t pnp_info; | |||
152 | static const struct pnp_device_id nsc_ircc_pnp_table[] = { | 152 | static const struct pnp_device_id nsc_ircc_pnp_table[] = { |
153 | { .id = "NSC6001", .driver_data = 0 }, | 153 | { .id = "NSC6001", .driver_data = 0 }, |
154 | { .id = "IBM0071", .driver_data = 0 }, | 154 | { .id = "IBM0071", .driver_data = 0 }, |
155 | { .id = "HWPC224", .driver_data = 0 }, | ||
155 | { } | 156 | { } |
156 | }; | 157 | }; |
157 | 158 | ||
diff --git a/drivers/net/irda/pxaficp_ir.c b/drivers/net/irda/pxaficp_ir.c index d5c2d27f3ea4..f76b0b6c277d 100644 --- a/drivers/net/irda/pxaficp_ir.c +++ b/drivers/net/irda/pxaficp_ir.c | |||
@@ -13,16 +13,8 @@ | |||
13 | * | 13 | * |
14 | */ | 14 | */ |
15 | #include <linux/module.h> | 15 | #include <linux/module.h> |
16 | #include <linux/types.h> | ||
17 | #include <linux/init.h> | ||
18 | #include <linux/errno.h> | ||
19 | #include <linux/netdevice.h> | 16 | #include <linux/netdevice.h> |
20 | #include <linux/slab.h> | ||
21 | #include <linux/rtnetlink.h> | ||
22 | #include <linux/interrupt.h> | ||
23 | #include <linux/dma-mapping.h> | ||
24 | #include <linux/platform_device.h> | 17 | #include <linux/platform_device.h> |
25 | #include <linux/pm.h> | ||
26 | #include <linux/clk.h> | 18 | #include <linux/clk.h> |
27 | 19 | ||
28 | #include <net/irda/irda.h> | 20 | #include <net/irda/irda.h> |
@@ -30,17 +22,9 @@ | |||
30 | #include <net/irda/wrapper.h> | 22 | #include <net/irda/wrapper.h> |
31 | #include <net/irda/irda_device.h> | 23 | #include <net/irda/irda_device.h> |
32 | 24 | ||
33 | #include <asm/irq.h> | ||
34 | #include <asm/dma.h> | 25 | #include <asm/dma.h> |
35 | #include <asm/delay.h> | ||
36 | #include <asm/hardware.h> | ||
37 | #include <asm/arch/irda.h> | 26 | #include <asm/arch/irda.h> |
38 | #include <asm/arch/pxa-regs.h> | 27 | #include <asm/arch/pxa-regs.h> |
39 | #include <asm/arch/pxa2xx-gpio.h> | ||
40 | |||
41 | #ifdef CONFIG_MACH_MAINSTONE | ||
42 | #include <asm/arch/mainstone.h> | ||
43 | #endif | ||
44 | 28 | ||
45 | #define IrSR_RXPL_NEG_IS_ZERO (1<<4) | 29 | #define IrSR_RXPL_NEG_IS_ZERO (1<<4) |
46 | #define IrSR_RXPL_POS_IS_ZERO 0x0 | 30 | #define IrSR_RXPL_POS_IS_ZERO 0x0 |
@@ -163,10 +147,6 @@ static int pxa_irda_set_speed(struct pxa_irda *si, int speed) | |||
163 | /* set board transceiver to SIR mode */ | 147 | /* set board transceiver to SIR mode */ |
164 | si->pdata->transceiver_mode(si->dev, IR_SIRMODE); | 148 | si->pdata->transceiver_mode(si->dev, IR_SIRMODE); |
165 | 149 | ||
166 | /* configure GPIO46/47 */ | ||
167 | pxa_gpio_mode(GPIO46_STRXD_MD); | ||
168 | pxa_gpio_mode(GPIO47_STTXD_MD); | ||
169 | |||
170 | /* enable the STUART clock */ | 150 | /* enable the STUART clock */ |
171 | pxa_irda_enable_sirclk(si); | 151 | pxa_irda_enable_sirclk(si); |
172 | } | 152 | } |
@@ -201,10 +181,6 @@ static int pxa_irda_set_speed(struct pxa_irda *si, int speed) | |||
201 | /* set board transceiver to FIR mode */ | 181 | /* set board transceiver to FIR mode */ |
202 | si->pdata->transceiver_mode(si->dev, IR_FIRMODE); | 182 | si->pdata->transceiver_mode(si->dev, IR_FIRMODE); |
203 | 183 | ||
204 | /* configure GPIO46/47 */ | ||
205 | pxa_gpio_mode(GPIO46_ICPRXD_MD); | ||
206 | pxa_gpio_mode(GPIO47_ICPTXD_MD); | ||
207 | |||
208 | /* enable the FICP clock */ | 184 | /* enable the FICP clock */ |
209 | pxa_irda_enable_firclk(si); | 185 | pxa_irda_enable_firclk(si); |
210 | 186 | ||
diff --git a/drivers/net/irda/via-ircc.c b/drivers/net/irda/via-ircc.c index 58e128784585..04ad3573b159 100644 --- a/drivers/net/irda/via-ircc.c +++ b/drivers/net/irda/via-ircc.c | |||
@@ -1546,6 +1546,7 @@ static int via_ircc_net_open(struct net_device *dev) | |||
1546 | IRDA_WARNING("%s, unable to allocate dma2=%d\n", | 1546 | IRDA_WARNING("%s, unable to allocate dma2=%d\n", |
1547 | driver_name, self->io.dma2); | 1547 | driver_name, self->io.dma2); |
1548 | free_irq(self->io.irq, self); | 1548 | free_irq(self->io.irq, self); |
1549 | free_dma(self->io.dma); | ||
1549 | return -EAGAIN; | 1550 | return -EAGAIN; |
1550 | } | 1551 | } |
1551 | } | 1552 | } |
@@ -1606,6 +1607,8 @@ static int via_ircc_net_close(struct net_device *dev) | |||
1606 | EnAllInt(iobase, OFF); | 1607 | EnAllInt(iobase, OFF); |
1607 | free_irq(self->io.irq, dev); | 1608 | free_irq(self->io.irq, dev); |
1608 | free_dma(self->io.dma); | 1609 | free_dma(self->io.dma); |
1610 | if (self->io.dma2 != self->io.dma) | ||
1611 | free_dma(self->io.dma2); | ||
1609 | 1612 | ||
1610 | return 0; | 1613 | return 0; |
1611 | } | 1614 | } |
diff --git a/drivers/net/macb.c b/drivers/net/macb.c index 92dccd43bdca..0a5745a854c7 100644 --- a/drivers/net/macb.c +++ b/drivers/net/macb.c | |||
@@ -1277,8 +1277,45 @@ static int __exit macb_remove(struct platform_device *pdev) | |||
1277 | return 0; | 1277 | return 0; |
1278 | } | 1278 | } |
1279 | 1279 | ||
1280 | #ifdef CONFIG_PM | ||
1281 | static int macb_suspend(struct platform_device *pdev, pm_message_t state) | ||
1282 | { | ||
1283 | struct net_device *netdev = platform_get_drvdata(pdev); | ||
1284 | struct macb *bp = netdev_priv(netdev); | ||
1285 | |||
1286 | netif_device_detach(netdev); | ||
1287 | |||
1288 | #ifndef CONFIG_ARCH_AT91 | ||
1289 | clk_disable(bp->hclk); | ||
1290 | #endif | ||
1291 | clk_disable(bp->pclk); | ||
1292 | |||
1293 | return 0; | ||
1294 | } | ||
1295 | |||
1296 | static int macb_resume(struct platform_device *pdev) | ||
1297 | { | ||
1298 | struct net_device *netdev = platform_get_drvdata(pdev); | ||
1299 | struct macb *bp = netdev_priv(netdev); | ||
1300 | |||
1301 | clk_enable(bp->pclk); | ||
1302 | #ifndef CONFIG_ARCH_AT91 | ||
1303 | clk_enable(bp->hclk); | ||
1304 | #endif | ||
1305 | |||
1306 | netif_device_attach(netdev); | ||
1307 | |||
1308 | return 0; | ||
1309 | } | ||
1310 | #else | ||
1311 | #define macb_suspend NULL | ||
1312 | #define macb_resume NULL | ||
1313 | #endif | ||
1314 | |||
1280 | static struct platform_driver macb_driver = { | 1315 | static struct platform_driver macb_driver = { |
1281 | .remove = __exit_p(macb_remove), | 1316 | .remove = __exit_p(macb_remove), |
1317 | .suspend = macb_suspend, | ||
1318 | .resume = macb_resume, | ||
1282 | .driver = { | 1319 | .driver = { |
1283 | .name = "macb", | 1320 | .name = "macb", |
1284 | .owner = THIS_MODULE, | 1321 | .owner = THIS_MODULE, |
diff --git a/drivers/net/macvlan.c b/drivers/net/macvlan.c index c36a03ae9bfb..860d75d81f82 100644 --- a/drivers/net/macvlan.c +++ b/drivers/net/macvlan.c | |||
@@ -20,7 +20,7 @@ | |||
20 | #include <linux/errno.h> | 20 | #include <linux/errno.h> |
21 | #include <linux/slab.h> | 21 | #include <linux/slab.h> |
22 | #include <linux/string.h> | 22 | #include <linux/string.h> |
23 | #include <linux/list.h> | 23 | #include <linux/rculist.h> |
24 | #include <linux/notifier.h> | 24 | #include <linux/notifier.h> |
25 | #include <linux/netdevice.h> | 25 | #include <linux/netdevice.h> |
26 | #include <linux/etherdevice.h> | 26 | #include <linux/etherdevice.h> |
diff --git a/drivers/net/mlx4/fw.c b/drivers/net/mlx4/fw.c index d82f2751d2c7..2b5006b9be67 100644 --- a/drivers/net/mlx4/fw.c +++ b/drivers/net/mlx4/fw.c | |||
@@ -101,6 +101,34 @@ static void dump_dev_cap_flags(struct mlx4_dev *dev, u32 flags) | |||
101 | mlx4_dbg(dev, " %s\n", fname[i]); | 101 | mlx4_dbg(dev, " %s\n", fname[i]); |
102 | } | 102 | } |
103 | 103 | ||
104 | int mlx4_MOD_STAT_CFG(struct mlx4_dev *dev, struct mlx4_mod_stat_cfg *cfg) | ||
105 | { | ||
106 | struct mlx4_cmd_mailbox *mailbox; | ||
107 | u32 *inbox; | ||
108 | int err = 0; | ||
109 | |||
110 | #define MOD_STAT_CFG_IN_SIZE 0x100 | ||
111 | |||
112 | #define MOD_STAT_CFG_PG_SZ_M_OFFSET 0x002 | ||
113 | #define MOD_STAT_CFG_PG_SZ_OFFSET 0x003 | ||
114 | |||
115 | mailbox = mlx4_alloc_cmd_mailbox(dev); | ||
116 | if (IS_ERR(mailbox)) | ||
117 | return PTR_ERR(mailbox); | ||
118 | inbox = mailbox->buf; | ||
119 | |||
120 | memset(inbox, 0, MOD_STAT_CFG_IN_SIZE); | ||
121 | |||
122 | MLX4_PUT(inbox, cfg->log_pg_sz, MOD_STAT_CFG_PG_SZ_OFFSET); | ||
123 | MLX4_PUT(inbox, cfg->log_pg_sz_m, MOD_STAT_CFG_PG_SZ_M_OFFSET); | ||
124 | |||
125 | err = mlx4_cmd(dev, mailbox->dma, 0, 0, MLX4_CMD_MOD_STAT_CFG, | ||
126 | MLX4_CMD_TIME_CLASS_A); | ||
127 | |||
128 | mlx4_free_cmd_mailbox(dev, mailbox); | ||
129 | return err; | ||
130 | } | ||
131 | |||
104 | int mlx4_QUERY_DEV_CAP(struct mlx4_dev *dev, struct mlx4_dev_cap *dev_cap) | 132 | int mlx4_QUERY_DEV_CAP(struct mlx4_dev *dev, struct mlx4_dev_cap *dev_cap) |
105 | { | 133 | { |
106 | struct mlx4_cmd_mailbox *mailbox; | 134 | struct mlx4_cmd_mailbox *mailbox; |
diff --git a/drivers/net/mlx4/fw.h b/drivers/net/mlx4/fw.h index 306cb9b0242d..a0e046c149b7 100644 --- a/drivers/net/mlx4/fw.h +++ b/drivers/net/mlx4/fw.h | |||
@@ -38,6 +38,11 @@ | |||
38 | #include "mlx4.h" | 38 | #include "mlx4.h" |
39 | #include "icm.h" | 39 | #include "icm.h" |
40 | 40 | ||
41 | struct mlx4_mod_stat_cfg { | ||
42 | u8 log_pg_sz; | ||
43 | u8 log_pg_sz_m; | ||
44 | }; | ||
45 | |||
41 | struct mlx4_dev_cap { | 46 | struct mlx4_dev_cap { |
42 | int max_srq_sz; | 47 | int max_srq_sz; |
43 | int max_qp_sz; | 48 | int max_qp_sz; |
@@ -162,5 +167,6 @@ int mlx4_SET_ICM_SIZE(struct mlx4_dev *dev, u64 icm_size, u64 *aux_pages); | |||
162 | int mlx4_MAP_ICM_AUX(struct mlx4_dev *dev, struct mlx4_icm *icm); | 167 | int mlx4_MAP_ICM_AUX(struct mlx4_dev *dev, struct mlx4_icm *icm); |
163 | int mlx4_UNMAP_ICM_AUX(struct mlx4_dev *dev); | 168 | int mlx4_UNMAP_ICM_AUX(struct mlx4_dev *dev); |
164 | int mlx4_NOP(struct mlx4_dev *dev); | 169 | int mlx4_NOP(struct mlx4_dev *dev); |
170 | int mlx4_MOD_STAT_CFG(struct mlx4_dev *dev, struct mlx4_mod_stat_cfg *cfg); | ||
165 | 171 | ||
166 | #endif /* MLX4_FW_H */ | 172 | #endif /* MLX4_FW_H */ |
diff --git a/drivers/net/mlx4/main.c b/drivers/net/mlx4/main.c index a6aa49fc1d68..d3736013fe9b 100644 --- a/drivers/net/mlx4/main.c +++ b/drivers/net/mlx4/main.c | |||
@@ -485,6 +485,7 @@ static int mlx4_init_hca(struct mlx4_dev *dev) | |||
485 | struct mlx4_priv *priv = mlx4_priv(dev); | 485 | struct mlx4_priv *priv = mlx4_priv(dev); |
486 | struct mlx4_adapter adapter; | 486 | struct mlx4_adapter adapter; |
487 | struct mlx4_dev_cap dev_cap; | 487 | struct mlx4_dev_cap dev_cap; |
488 | struct mlx4_mod_stat_cfg mlx4_cfg; | ||
488 | struct mlx4_profile profile; | 489 | struct mlx4_profile profile; |
489 | struct mlx4_init_hca_param init_hca; | 490 | struct mlx4_init_hca_param init_hca; |
490 | u64 icm_size; | 491 | u64 icm_size; |
@@ -502,6 +503,12 @@ static int mlx4_init_hca(struct mlx4_dev *dev) | |||
502 | return err; | 503 | return err; |
503 | } | 504 | } |
504 | 505 | ||
506 | mlx4_cfg.log_pg_sz_m = 1; | ||
507 | mlx4_cfg.log_pg_sz = 0; | ||
508 | err = mlx4_MOD_STAT_CFG(dev, &mlx4_cfg); | ||
509 | if (err) | ||
510 | mlx4_warn(dev, "Failed to override log_pg_sz parameter\n"); | ||
511 | |||
505 | err = mlx4_dev_cap(dev, &dev_cap); | 512 | err = mlx4_dev_cap(dev, &dev_cap); |
506 | if (err) { | 513 | if (err) { |
507 | mlx4_err(dev, "QUERY_DEV_CAP command failed, aborting.\n"); | 514 | mlx4_err(dev, "QUERY_DEV_CAP command failed, aborting.\n"); |
diff --git a/drivers/net/mlx4/mcg.c b/drivers/net/mlx4/mcg.c index 57f7f1f0d4ec..b4b57870ddfd 100644 --- a/drivers/net/mlx4/mcg.c +++ b/drivers/net/mlx4/mcg.c | |||
@@ -38,6 +38,9 @@ | |||
38 | 38 | ||
39 | #include "mlx4.h" | 39 | #include "mlx4.h" |
40 | 40 | ||
41 | #define MGM_QPN_MASK 0x00FFFFFF | ||
42 | #define MGM_BLCK_LB_BIT 30 | ||
43 | |||
41 | struct mlx4_mgm { | 44 | struct mlx4_mgm { |
42 | __be32 next_gid_index; | 45 | __be32 next_gid_index; |
43 | __be32 members_count; | 46 | __be32 members_count; |
@@ -153,7 +156,8 @@ static int find_mgm(struct mlx4_dev *dev, | |||
153 | return err; | 156 | return err; |
154 | } | 157 | } |
155 | 158 | ||
156 | int mlx4_multicast_attach(struct mlx4_dev *dev, struct mlx4_qp *qp, u8 gid[16]) | 159 | int mlx4_multicast_attach(struct mlx4_dev *dev, struct mlx4_qp *qp, u8 gid[16], |
160 | int block_mcast_loopback) | ||
157 | { | 161 | { |
158 | struct mlx4_priv *priv = mlx4_priv(dev); | 162 | struct mlx4_priv *priv = mlx4_priv(dev); |
159 | struct mlx4_cmd_mailbox *mailbox; | 163 | struct mlx4_cmd_mailbox *mailbox; |
@@ -202,13 +206,18 @@ int mlx4_multicast_attach(struct mlx4_dev *dev, struct mlx4_qp *qp, u8 gid[16]) | |||
202 | } | 206 | } |
203 | 207 | ||
204 | for (i = 0; i < members_count; ++i) | 208 | for (i = 0; i < members_count; ++i) |
205 | if (mgm->qp[i] == cpu_to_be32(qp->qpn)) { | 209 | if ((be32_to_cpu(mgm->qp[i]) & MGM_QPN_MASK) == qp->qpn) { |
206 | mlx4_dbg(dev, "QP %06x already a member of MGM\n", qp->qpn); | 210 | mlx4_dbg(dev, "QP %06x already a member of MGM\n", qp->qpn); |
207 | err = 0; | 211 | err = 0; |
208 | goto out; | 212 | goto out; |
209 | } | 213 | } |
210 | 214 | ||
211 | mgm->qp[members_count++] = cpu_to_be32(qp->qpn); | 215 | if (block_mcast_loopback) |
216 | mgm->qp[members_count++] = cpu_to_be32((qp->qpn & MGM_QPN_MASK) | | ||
217 | (1 << MGM_BLCK_LB_BIT)); | ||
218 | else | ||
219 | mgm->qp[members_count++] = cpu_to_be32(qp->qpn & MGM_QPN_MASK); | ||
220 | |||
212 | mgm->members_count = cpu_to_be32(members_count); | 221 | mgm->members_count = cpu_to_be32(members_count); |
213 | 222 | ||
214 | err = mlx4_WRITE_MCG(dev, index, mailbox); | 223 | err = mlx4_WRITE_MCG(dev, index, mailbox); |
@@ -283,7 +292,7 @@ int mlx4_multicast_detach(struct mlx4_dev *dev, struct mlx4_qp *qp, u8 gid[16]) | |||
283 | 292 | ||
284 | members_count = be32_to_cpu(mgm->members_count); | 293 | members_count = be32_to_cpu(mgm->members_count); |
285 | for (loc = -1, i = 0; i < members_count; ++i) | 294 | for (loc = -1, i = 0; i < members_count; ++i) |
286 | if (mgm->qp[i] == cpu_to_be32(qp->qpn)) | 295 | if ((be32_to_cpu(mgm->qp[i]) & MGM_QPN_MASK) == qp->qpn) |
287 | loc = i; | 296 | loc = i; |
288 | 297 | ||
289 | if (loc == -1) { | 298 | if (loc == -1) { |
diff --git a/drivers/net/myri10ge/myri10ge.c b/drivers/net/myri10ge/myri10ge.c index e0d76c75aea0..823bb6d35334 100644 --- a/drivers/net/myri10ge/myri10ge.c +++ b/drivers/net/myri10ge/myri10ge.c | |||
@@ -529,6 +529,7 @@ static int myri10ge_load_hotplug_firmware(struct myri10ge_priv *mgp, u32 * size) | |||
529 | unsigned crc, reread_crc; | 529 | unsigned crc, reread_crc; |
530 | const struct firmware *fw; | 530 | const struct firmware *fw; |
531 | struct device *dev = &mgp->pdev->dev; | 531 | struct device *dev = &mgp->pdev->dev; |
532 | unsigned char *fw_readback; | ||
532 | struct mcp_gen_header *hdr; | 533 | struct mcp_gen_header *hdr; |
533 | size_t hdr_offset; | 534 | size_t hdr_offset; |
534 | int status; | 535 | int status; |
@@ -571,9 +572,15 @@ static int myri10ge_load_hotplug_firmware(struct myri10ge_priv *mgp, u32 * size) | |||
571 | mb(); | 572 | mb(); |
572 | readb(mgp->sram); | 573 | readb(mgp->sram); |
573 | } | 574 | } |
575 | fw_readback = vmalloc(fw->size); | ||
576 | if (!fw_readback) { | ||
577 | status = -ENOMEM; | ||
578 | goto abort_with_fw; | ||
579 | } | ||
574 | /* corruption checking is good for parity recovery and buggy chipset */ | 580 | /* corruption checking is good for parity recovery and buggy chipset */ |
575 | memcpy_fromio(fw->data, mgp->sram + MYRI10GE_FW_OFFSET, fw->size); | 581 | memcpy_fromio(fw_readback, mgp->sram + MYRI10GE_FW_OFFSET, fw->size); |
576 | reread_crc = crc32(~0, fw->data, fw->size); | 582 | reread_crc = crc32(~0, fw_readback, fw->size); |
583 | vfree(fw_readback); | ||
577 | if (crc != reread_crc) { | 584 | if (crc != reread_crc) { |
578 | dev_err(dev, "CRC failed(fw-len=%u), got 0x%x (expect 0x%x)\n", | 585 | dev_err(dev, "CRC failed(fw-len=%u), got 0x%x (expect 0x%x)\n", |
579 | (unsigned)fw->size, reread_crc, crc); | 586 | (unsigned)fw->size, reread_crc, crc); |
diff --git a/drivers/net/pasemi_mac.c b/drivers/net/pasemi_mac.c index 3b2a6c598088..993d87c9296f 100644 --- a/drivers/net/pasemi_mac.c +++ b/drivers/net/pasemi_mac.c | |||
@@ -277,7 +277,7 @@ static int get_skb_hdr(struct sk_buff *skb, void **iphdr, | |||
277 | *tcph = tcp_hdr(skb); | 277 | *tcph = tcp_hdr(skb); |
278 | 278 | ||
279 | /* check if ip header and tcp header are complete */ | 279 | /* check if ip header and tcp header are complete */ |
280 | if (iph->tot_len < ip_len + tcp_hdrlen(skb)) | 280 | if (ntohs(iph->tot_len) < ip_len + tcp_hdrlen(skb)) |
281 | return -1; | 281 | return -1; |
282 | 282 | ||
283 | *hdr_flags = LRO_IPV4 | LRO_TCP; | 283 | *hdr_flags = LRO_IPV4 | LRO_TCP; |
diff --git a/drivers/net/ppp_generic.c b/drivers/net/ppp_generic.c index 1f4ca2b54a73..83625fdff3dd 100644 --- a/drivers/net/ppp_generic.c +++ b/drivers/net/ppp_generic.c | |||
@@ -39,6 +39,7 @@ | |||
39 | #include <linux/if_arp.h> | 39 | #include <linux/if_arp.h> |
40 | #include <linux/ip.h> | 40 | #include <linux/ip.h> |
41 | #include <linux/tcp.h> | 41 | #include <linux/tcp.h> |
42 | #include <linux/smp_lock.h> | ||
42 | #include <linux/spinlock.h> | 43 | #include <linux/spinlock.h> |
43 | #include <linux/rwsem.h> | 44 | #include <linux/rwsem.h> |
44 | #include <linux/stddef.h> | 45 | #include <linux/stddef.h> |
@@ -353,6 +354,7 @@ static const int npindex_to_ethertype[NUM_NP] = { | |||
353 | */ | 354 | */ |
354 | static int ppp_open(struct inode *inode, struct file *file) | 355 | static int ppp_open(struct inode *inode, struct file *file) |
355 | { | 356 | { |
357 | cycle_kernel_lock(); | ||
356 | /* | 358 | /* |
357 | * This could (should?) be enforced by the permissions on /dev/ppp. | 359 | * This could (should?) be enforced by the permissions on /dev/ppp. |
358 | */ | 360 | */ |
diff --git a/drivers/net/tokenring/smctr.c b/drivers/net/tokenring/smctr.c index 5f1c5072b96f..fa73e6eed6be 100644 --- a/drivers/net/tokenring/smctr.c +++ b/drivers/net/tokenring/smctr.c | |||
@@ -48,6 +48,7 @@ | |||
48 | #include <linux/skbuff.h> | 48 | #include <linux/skbuff.h> |
49 | #include <linux/trdevice.h> | 49 | #include <linux/trdevice.h> |
50 | #include <linux/bitops.h> | 50 | #include <linux/bitops.h> |
51 | #include <linux/firmware.h> | ||
51 | 52 | ||
52 | #include <asm/system.h> | 53 | #include <asm/system.h> |
53 | #include <asm/io.h> | 54 | #include <asm/io.h> |
@@ -59,7 +60,6 @@ | |||
59 | #endif | 60 | #endif |
60 | 61 | ||
61 | #include "smctr.h" /* Our Stuff */ | 62 | #include "smctr.h" /* Our Stuff */ |
62 | #include "smctr_firmware.h" /* SMC adapter firmware */ | ||
63 | 63 | ||
64 | static char version[] __initdata = KERN_INFO "smctr.c: v1.4 7/12/00 by jschlst@samba.org\n"; | 64 | static char version[] __initdata = KERN_INFO "smctr.c: v1.4 7/12/00 by jschlst@samba.org\n"; |
65 | static const char cardname[] = "smctr"; | 65 | static const char cardname[] = "smctr"; |
@@ -103,7 +103,8 @@ static int smctr_clear_trc_reset(int ioaddr); | |||
103 | static int smctr_close(struct net_device *dev); | 103 | static int smctr_close(struct net_device *dev); |
104 | 104 | ||
105 | /* D */ | 105 | /* D */ |
106 | static int smctr_decode_firmware(struct net_device *dev); | 106 | static int smctr_decode_firmware(struct net_device *dev, |
107 | const struct firmware *fw); | ||
107 | static int smctr_disable_16bit(struct net_device *dev); | 108 | static int smctr_disable_16bit(struct net_device *dev); |
108 | static int smctr_disable_adapter_ctrl_store(struct net_device *dev); | 109 | static int smctr_disable_adapter_ctrl_store(struct net_device *dev); |
109 | static int smctr_disable_bic_int(struct net_device *dev); | 110 | static int smctr_disable_bic_int(struct net_device *dev); |
@@ -748,7 +749,8 @@ static int smctr_close(struct net_device *dev) | |||
748 | return (0); | 749 | return (0); |
749 | } | 750 | } |
750 | 751 | ||
751 | static int smctr_decode_firmware(struct net_device *dev) | 752 | static int smctr_decode_firmware(struct net_device *dev, |
753 | const struct firmware *fw) | ||
752 | { | 754 | { |
753 | struct net_local *tp = netdev_priv(dev); | 755 | struct net_local *tp = netdev_priv(dev); |
754 | short bit = 0x80, shift = 12; | 756 | short bit = 0x80, shift = 12; |
@@ -762,10 +764,10 @@ static int smctr_decode_firmware(struct net_device *dev) | |||
762 | if(smctr_debug > 10) | 764 | if(smctr_debug > 10) |
763 | printk(KERN_DEBUG "%s: smctr_decode_firmware\n", dev->name); | 765 | printk(KERN_DEBUG "%s: smctr_decode_firmware\n", dev->name); |
764 | 766 | ||
765 | weight = *(long *)(tp->ptr_ucode + WEIGHT_OFFSET); | 767 | weight = *(long *)(fw->data + WEIGHT_OFFSET); |
766 | tsize = *(__u8 *)(tp->ptr_ucode + TREE_SIZE_OFFSET); | 768 | tsize = *(__u8 *)(fw->data + TREE_SIZE_OFFSET); |
767 | tree = (DECODE_TREE_NODE *)(tp->ptr_ucode + TREE_OFFSET); | 769 | tree = (DECODE_TREE_NODE *)(fw->data + TREE_OFFSET); |
768 | ucode = (__u8 *)(tp->ptr_ucode + TREE_OFFSET | 770 | ucode = (__u8 *)(fw->data + TREE_OFFSET |
769 | + (tsize * sizeof(DECODE_TREE_NODE))); | 771 | + (tsize * sizeof(DECODE_TREE_NODE))); |
770 | mem = (__u16 *)(tp->ram_access); | 772 | mem = (__u16 *)(tp->ram_access); |
771 | 773 | ||
@@ -2963,34 +2965,44 @@ static int smctr_link_tx_fcbs_to_bdbs(struct net_device *dev) | |||
2963 | static int smctr_load_firmware(struct net_device *dev) | 2965 | static int smctr_load_firmware(struct net_device *dev) |
2964 | { | 2966 | { |
2965 | struct net_local *tp = netdev_priv(dev); | 2967 | struct net_local *tp = netdev_priv(dev); |
2968 | const struct firmware *fw; | ||
2966 | __u16 i, checksum = 0; | 2969 | __u16 i, checksum = 0; |
2967 | int err = 0; | 2970 | int err = 0; |
2968 | 2971 | ||
2969 | if(smctr_debug > 10) | 2972 | if(smctr_debug > 10) |
2970 | printk(KERN_DEBUG "%s: smctr_load_firmware\n", dev->name); | 2973 | printk(KERN_DEBUG "%s: smctr_load_firmware\n", dev->name); |
2971 | 2974 | ||
2972 | tp->ptr_ucode = smctr_code; | 2975 | if (request_firmware(&fw, "tr_smctr.bin", &dev->dev)) { |
2976 | printk(KERN_ERR "%s: firmware not found\n", dev->name); | ||
2977 | return (UCODE_NOT_PRESENT); | ||
2978 | } | ||
2979 | |||
2973 | tp->num_of_tx_buffs = 4; | 2980 | tp->num_of_tx_buffs = 4; |
2974 | tp->mode_bits |= UMAC; | 2981 | tp->mode_bits |= UMAC; |
2975 | tp->receive_mask = 0; | 2982 | tp->receive_mask = 0; |
2976 | tp->max_packet_size = 4177; | 2983 | tp->max_packet_size = 4177; |
2977 | 2984 | ||
2978 | /* Can only upload the firmware once per adapter reset. */ | 2985 | /* Can only upload the firmware once per adapter reset. */ |
2979 | if(tp->microcode_version != 0) | 2986 | if (tp->microcode_version != 0) { |
2980 | return (UCODE_PRESENT); | 2987 | err = (UCODE_PRESENT); |
2988 | goto out; | ||
2989 | } | ||
2981 | 2990 | ||
2982 | /* Verify the firmware exists and is there in the right amount. */ | 2991 | /* Verify the firmware exists and is there in the right amount. */ |
2983 | if (!tp->ptr_ucode | 2992 | if (!fw->data |
2984 | || (*(tp->ptr_ucode + UCODE_VERSION_OFFSET) < UCODE_VERSION)) | 2993 | || (*(fw->data + UCODE_VERSION_OFFSET) < UCODE_VERSION)) |
2985 | { | 2994 | { |
2986 | return (UCODE_NOT_PRESENT); | 2995 | err = (UCODE_NOT_PRESENT); |
2996 | goto out; | ||
2987 | } | 2997 | } |
2988 | 2998 | ||
2989 | /* UCODE_SIZE is not included in Checksum. */ | 2999 | /* UCODE_SIZE is not included in Checksum. */ |
2990 | for(i = 0; i < *((__u16 *)(tp->ptr_ucode + UCODE_SIZE_OFFSET)); i += 2) | 3000 | for(i = 0; i < *((__u16 *)(fw->data + UCODE_SIZE_OFFSET)); i += 2) |
2991 | checksum += *((__u16 *)(tp->ptr_ucode + 2 + i)); | 3001 | checksum += *((__u16 *)(fw->data + 2 + i)); |
2992 | if(checksum) | 3002 | if (checksum) { |
2993 | return (UCODE_NOT_PRESENT); | 3003 | err = (UCODE_NOT_PRESENT); |
3004 | goto out; | ||
3005 | } | ||
2994 | 3006 | ||
2995 | /* At this point we have a valid firmware image, lets kick it on up. */ | 3007 | /* At this point we have a valid firmware image, lets kick it on up. */ |
2996 | smctr_enable_adapter_ram(dev); | 3008 | smctr_enable_adapter_ram(dev); |
@@ -2998,7 +3010,7 @@ static int smctr_load_firmware(struct net_device *dev) | |||
2998 | smctr_set_page(dev, (__u8 *)tp->ram_access); | 3010 | smctr_set_page(dev, (__u8 *)tp->ram_access); |
2999 | 3011 | ||
3000 | if((smctr_checksum_firmware(dev)) | 3012 | if((smctr_checksum_firmware(dev)) |
3001 | || (*(tp->ptr_ucode + UCODE_VERSION_OFFSET) | 3013 | || (*(fw->data + UCODE_VERSION_OFFSET) |
3002 | > tp->microcode_version)) | 3014 | > tp->microcode_version)) |
3003 | { | 3015 | { |
3004 | smctr_enable_adapter_ctrl_store(dev); | 3016 | smctr_enable_adapter_ctrl_store(dev); |
@@ -3007,9 +3019,9 @@ static int smctr_load_firmware(struct net_device *dev) | |||
3007 | for(i = 0; i < CS_RAM_SIZE; i += 2) | 3019 | for(i = 0; i < CS_RAM_SIZE; i += 2) |
3008 | *((__u16 *)(tp->ram_access + i)) = 0; | 3020 | *((__u16 *)(tp->ram_access + i)) = 0; |
3009 | 3021 | ||
3010 | smctr_decode_firmware(dev); | 3022 | smctr_decode_firmware(dev, fw); |
3011 | 3023 | ||
3012 | tp->microcode_version = *(tp->ptr_ucode + UCODE_VERSION_OFFSET); *((__u16 *)(tp->ram_access + CS_RAM_VERSION_OFFSET)) | 3024 | tp->microcode_version = *(fw->data + UCODE_VERSION_OFFSET); *((__u16 *)(tp->ram_access + CS_RAM_VERSION_OFFSET)) |
3013 | = (tp->microcode_version << 8); | 3025 | = (tp->microcode_version << 8); |
3014 | *((__u16 *)(tp->ram_access + CS_RAM_CHECKSUM_OFFSET)) | 3026 | *((__u16 *)(tp->ram_access + CS_RAM_CHECKSUM_OFFSET)) |
3015 | = ~(tp->microcode_version << 8) + 1; | 3027 | = ~(tp->microcode_version << 8) + 1; |
@@ -3023,7 +3035,8 @@ static int smctr_load_firmware(struct net_device *dev) | |||
3023 | err = UCODE_PRESENT; | 3035 | err = UCODE_PRESENT; |
3024 | 3036 | ||
3025 | smctr_disable_16bit(dev); | 3037 | smctr_disable_16bit(dev); |
3026 | 3038 | out: | |
3039 | release_firmware(fw); | ||
3027 | return (err); | 3040 | return (err); |
3028 | } | 3041 | } |
3029 | 3042 | ||
@@ -5651,6 +5664,7 @@ static int io[SMCTR_MAX_ADAPTERS]; | |||
5651 | static int irq[SMCTR_MAX_ADAPTERS]; | 5664 | static int irq[SMCTR_MAX_ADAPTERS]; |
5652 | 5665 | ||
5653 | MODULE_LICENSE("GPL"); | 5666 | MODULE_LICENSE("GPL"); |
5667 | MODULE_FIRMWARE("tr_smctr.bin"); | ||
5654 | 5668 | ||
5655 | module_param_array(io, int, NULL, 0); | 5669 | module_param_array(io, int, NULL, 0); |
5656 | module_param_array(irq, int, NULL, 0); | 5670 | module_param_array(irq, int, NULL, 0); |
diff --git a/drivers/net/tokenring/smctr.h b/drivers/net/tokenring/smctr.h index 88dfa2e01d6e..52df7dd815cc 100644 --- a/drivers/net/tokenring/smctr.h +++ b/drivers/net/tokenring/smctr.h | |||
@@ -1042,8 +1042,6 @@ typedef struct net_local { | |||
1042 | __u16 functional_address[2]; | 1042 | __u16 functional_address[2]; |
1043 | __u16 bitwise_group_address[2]; | 1043 | __u16 bitwise_group_address[2]; |
1044 | 1044 | ||
1045 | const __u8 *ptr_ucode; | ||
1046 | |||
1047 | __u8 cleanup; | 1045 | __u8 cleanup; |
1048 | 1046 | ||
1049 | struct sk_buff_head SendSkbQueue; | 1047 | struct sk_buff_head SendSkbQueue; |
diff --git a/drivers/net/tokenring/smctr_firmware.h b/drivers/net/tokenring/smctr_firmware.h deleted file mode 100644 index 292e50ddf01a..000000000000 --- a/drivers/net/tokenring/smctr_firmware.h +++ /dev/null | |||
@@ -1,978 +0,0 @@ | |||
1 | /* | ||
2 | * The firmware this driver downloads into the tokenring card is a | ||
3 | * separate program and is not GPL'd source code, even though the Linux | ||
4 | * side driver and the routine that loads this data into the card are. | ||
5 | * | ||
6 | * This firmware is licensed to you strictly for use in conjunction | ||
7 | * with the use of SMC TokenRing adapters. There is no waranty | ||
8 | * expressed or implied about its fitness for any purpose. | ||
9 | */ | ||
10 | |||
11 | /* smctr_firmware.h: SMC TokenRing driver firmware dump for Linux. | ||
12 | * | ||
13 | * Notes: | ||
14 | * - This is an 8K binary image. (MCT.BIN v6.3C1 03/01/95) | ||
15 | * | ||
16 | * Authors: | ||
17 | * - Jay Schulist <jschlst@samba.org> | ||
18 | */ | ||
19 | |||
20 | |||
21 | #if defined(CONFIG_SMCTR) || defined(CONFIG_SMCTR_MODULE) | ||
22 | |||
23 | static const unsigned char smctr_code[] = { | ||
24 | 0x0BC, 0x01D, 0x012, 0x03B, 0x063, 0x0B4, 0x0E9, 0x000, | ||
25 | 0x000, 0x01F, 0x000, 0x001, 0x001, 0x000, 0x002, 0x005, | ||
26 | 0x001, 0x000, 0x006, 0x003, 0x001, 0x000, 0x004, 0x009, | ||
27 | 0x001, 0x000, 0x00A, 0x007, 0x001, 0x000, 0x008, 0x00B, | ||
28 | 0x001, 0x000, 0x00C, 0x000, 0x000, 0x000, 0x000, 0x00F, | ||
29 | 0x001, 0x000, 0x010, 0x00D, 0x001, 0x000, 0x00E, 0x013, | ||
30 | 0x001, 0x000, 0x014, 0x011, 0x001, 0x000, 0x012, 0x000, | ||
31 | 0x000, 0x005, 0x000, 0x015, 0x001, 0x000, 0x016, 0x019, | ||
32 | 0x001, 0x000, 0x01A, 0x017, 0x001, 0x000, 0x018, 0x000, | ||
33 | 0x000, 0x00E, 0x000, 0x000, 0x000, 0x001, 0x000, 0x000, | ||
34 | 0x000, 0x004, 0x000, 0x01B, 0x001, 0x000, 0x01C, 0x000, | ||
35 | 0x000, 0x007, 0x000, 0x000, 0x000, 0x00F, 0x000, 0x000, | ||
36 | 0x000, 0x00B, 0x000, 0x01D, 0x001, 0x000, 0x01E, 0x000, | ||
37 | 0x000, 0x008, 0x000, 0x000, 0x000, 0x002, 0x000, 0x000, | ||
38 | 0x000, 0x00C, 0x000, 0x000, 0x000, 0x006, 0x000, 0x000, | ||
39 | 0x000, 0x00D, 0x000, 0x000, 0x000, 0x003, 0x000, 0x000, | ||
40 | 0x000, 0x00A, 0x000, 0x000, 0x000, 0x009, 0x000, 0x004, | ||
41 | 0x078, 0x0C6, 0x0BC, 0x001, 0x094, 0x004, 0x093, 0x080, | ||
42 | 0x0C8, 0x040, 0x062, 0x0E9, 0x0DA, 0x01C, 0x02C, 0x015, | ||
43 | 0x055, 0x055, 0x055, 0x055, 0x055, 0x055, 0x055, 0x058, | ||
44 | 0x00B, 0x0E9, 0x0E5, 0x0D5, 0x095, 0x0C1, 0x09D, 0x077, | ||
45 | 0x0CE, 0x0BB, 0x0A0, 0x06E, 0x01C, 0x005, 0x0F6, 0x077, | ||
46 | 0x0C6, 0x002, 0x0FA, 0x096, 0x070, 0x0E8, 0x01D, 0x0C0, | ||
47 | 0x017, 0x00E, 0x002, 0x0FA, 0x058, 0x07D, 0x0C0, 0x05F, | ||
48 | 0x072, 0x0CE, 0x0EC, 0x0A4, 0x0C3, 0x084, 0x090, 0x07A, | ||
49 | 0x030, 0x0CD, 0x08D, 0x079, 0x019, 0x0E7, 0x06C, 0x024, | ||
50 | 0x027, 0x09C, 0x008, 0x039, 0x007, 0x038, 0x0A8, 0x04A, | ||
51 | 0x04C, 0x0EA, 0x04D, 0x098, 0x09B, 0x024, 0x04C, 0x0C0, | ||
52 | 0x026, 0x0D3, 0x0E7, 0x054, 0x05A, 0x04D, 0x0F2, 0x04C, | ||
53 | 0x00C, 0x013, 0x023, 0x049, 0x090, 0x032, 0x06E, 0x0A4, | ||
54 | 0x0DF, 0x093, 0x071, 0x013, 0x077, 0x026, 0x0E1, 0x026, | ||
55 | 0x0F8, 0x026, 0x00C, 0x04C, 0x012, 0x026, 0x008, 0x009, | ||
56 | 0x082, 0x082, 0x060, 0x0A9, 0x030, 0x079, 0x036, 0x0B0, | ||
57 | 0x0B2, 0x0A8, 0x0A7, 0x072, 0x064, 0x08F, 0x09B, 0x033, | ||
58 | 0x033, 0x0F9, 0x0B8, 0x039, 0x0D5, 0x011, 0x073, 0x0AA, | ||
59 | 0x075, 0x026, 0x05D, 0x026, 0x051, 0x093, 0x02A, 0x049, | ||
60 | 0x094, 0x0C9, 0x095, 0x089, 0x0BC, 0x04D, 0x0C8, 0x09B, | ||
61 | 0x080, 0x09B, 0x0A0, 0x099, 0x006, 0x04C, 0x086, 0x026, | ||
62 | 0x058, 0x09B, 0x0A4, 0x09B, 0x099, 0x037, 0x062, 0x06C, | ||
63 | 0x067, 0x09B, 0x033, 0x030, 0x0BF, 0x036, 0x066, 0x061, | ||
64 | 0x0BF, 0x036, 0x0EC, 0x0C5, 0x0BD, 0x066, 0x082, 0x05A, | ||
65 | 0x050, 0x031, 0x0D5, 0x09D, 0x098, 0x018, 0x029, 0x03C, | ||
66 | 0x098, 0x086, 0x04C, 0x017, 0x026, 0x03E, 0x02C, 0x0B8, | ||
67 | 0x069, 0x03B, 0x049, 0x02E, 0x0B4, 0x008, 0x043, 0x01A, | ||
68 | 0x0A4, 0x0F9, 0x0B3, 0x051, 0x0F1, 0x010, 0x0F3, 0x043, | ||
69 | 0x0CD, 0x008, 0x06F, 0x063, 0x079, 0x0B3, 0x033, 0x00E, | ||
70 | 0x013, 0x098, 0x049, 0x098, 0x004, 0x0DA, 0x07C, 0x0E0, | ||
71 | 0x052, 0x079, 0x031, 0x00C, 0x098, 0x02E, 0x04D, 0x0AC, | ||
72 | 0x02C, 0x084, 0x014, 0x0EE, 0x04C, 0x0FE, 0x067, 0x05E, | ||
73 | 0x0E4, 0x09A, 0x075, 0x029, 0x0D7, 0x0A9, 0x035, 0x03A, | ||
74 | 0x094, 0x05B, 0x0D5, 0x09B, 0x058, 0x0B4, 0x0AF, 0x075, | ||
75 | 0x066, 0x0AF, 0x014, 0x0A9, 0x0EF, 0x040, 0x095, 0x025, | ||
76 | 0x008, 0x0B9, 0x0AD, 0x042, 0x0FC, 0x0D8, 0x0D9, 0x08C, | ||
77 | 0x033, 0x00E, 0x013, 0x098, 0x066, 0x01E, 0x045, 0x0AC, | ||
78 | 0x0B0, 0x00C, 0x042, 0x0D3, 0x0CC, 0x0A6, 0x012, 0x062, | ||
79 | 0x0DE, 0x0B4, 0x0B1, 0x080, 0x049, 0x07D, 0x0A2, 0x0DE, | ||
80 | 0x0B4, 0x018, 0x0C0, 0x024, 0x084, 0x0E6, 0x054, 0x0F5, | ||
81 | 0x083, 0x046, 0x001, 0x068, 0x01A, 0x063, 0x00C, 0x0C6, | ||
82 | 0x012, 0x064, 0x0FA, 0x04C, 0x035, 0x01C, 0x02C, 0x00E, | ||
83 | 0x0AA, 0x0AA, 0x0AA, 0x0AA, 0x0AA, 0x0AA, 0x0AA, 0x0AA, | ||
84 | 0x0AA, 0x0AA, 0x0AA, 0x0AA, 0x0AA, 0x0AD, 0x0D7, 0x002, | ||
85 | 0x070, 0x0E0, 0x04C, 0x0F3, 0x0A1, 0x0C1, 0x0D5, 0x0C0, | ||
86 | 0x03C, 0x0B9, 0x069, 0x039, 0x060, 0x04E, 0x058, 0x077, | ||
87 | 0x002, 0x067, 0x093, 0x03C, 0x099, 0x0E4, 0x0CF, 0x038, | ||
88 | 0x01C, 0x097, 0x02E, 0x040, 0x01B, 0x090, 0x031, 0x046, | ||
89 | 0x0A3, 0x05E, 0x00E, 0x088, 0x034, 0x06A, 0x035, 0x0E0, | ||
90 | 0x0E8, 0x0AA, 0x035, 0x01A, 0x0A9, 0x0F5, 0x015, 0x046, | ||
91 | 0x0A3, 0x0EA, 0x07D, 0x04A, 0x0A3, 0x051, 0x0AA, 0x09F, | ||
92 | 0x070, 0x054, 0x0A6, 0x057, 0x02E, 0x0B4, 0x0CD, 0x0C8, | ||
93 | 0x0A3, 0x00C, 0x0C1, 0x0DA, 0x0C6, 0x0E1, 0x0CB, 0x07A, | ||
94 | 0x0D4, 0x01C, 0x068, 0x0FF, 0x0CF, 0x055, 0x0A8, 0x0C0, | ||
95 | 0x02D, 0x085, 0x011, 0x017, 0x044, 0x02A, 0x030, 0x00B, | ||
96 | 0x04A, 0x088, 0x0C2, 0x04D, 0x0B5, 0x020, 0x0D5, 0x026, | ||
97 | 0x001, 0x069, 0x051, 0x069, 0x052, 0x019, 0x052, 0x060, | ||
98 | 0x016, 0x095, 0x016, 0x082, 0x096, 0x054, 0x098, 0x005, | ||
99 | 0x0A5, 0x045, 0x0F3, 0x0DD, 0x06A, 0x0F9, 0x028, 0x018, | ||
100 | 0x0EF, 0x000, 0x030, 0x030, 0x051, 0x04E, 0x044, 0x05D, | ||
101 | 0x012, 0x0D1, 0x043, 0x0E6, 0x012, 0x06F, 0x09E, 0x0BA, | ||
102 | 0x0CC, 0x0DF, 0x025, 0x003, 0x01D, 0x0E0, 0x006, 0x006, | ||
103 | 0x00A, 0x030, 0x0CC, 0x0A9, 0x0EB, 0x02D, 0x000, 0x086, | ||
104 | 0x0A6, 0x012, 0x065, 0x04F, 0x056, 0x0D6, 0x065, 0x049, | ||
105 | 0x05F, 0x03D, 0x0E8, 0x037, 0x0C9, 0x040, 0x0C7, 0x078, | ||
106 | 0x001, 0x081, 0x082, 0x08C, 0x033, 0x018, 0x049, 0x080, | ||
107 | 0x0AE, 0x040, 0x0C5, 0x018, 0x005, 0x09C, 0x06D, 0x018, | ||
108 | 0x066, 0x00E, 0x0F3, 0x0A0, 0x0C6, 0x012, 0x062, 0x0DE, | ||
109 | 0x0F5, 0x004, 0x0B4, 0x0AC, 0x06B, 0x0C6, 0x019, 0x091, | ||
110 | 0x073, 0x005, 0x048, 0x02E, 0x072, 0x094, 0x080, 0x073, | ||
111 | 0x0A1, 0x0C8, 0x047, 0x036, 0x066, 0x064, 0x02F, 0x036, | ||
112 | 0x066, 0x064, 0x007, 0x099, 0x002, 0x091, 0x08E, 0x072, | ||
113 | 0x0D1, 0x00F, 0x09D, 0x006, 0x031, 0x073, 0x0A0, 0x0C3, | ||
114 | 0x051, 0x06A, 0x01A, 0x020, 0x0BF, 0x03A, 0x00C, 0x02C, | ||
115 | 0x073, 0x087, 0x043, 0x05E, 0x060, 0x002, 0x023, 0x0FC, | ||
116 | 0x0E0, 0x0D6, 0x035, 0x0EF, 0x09E, 0x0F5, 0x0EF, 0x092, | ||
117 | 0x081, 0x08E, 0x0F0, 0x003, 0x003, 0x005, 0x018, 0x066, | ||
118 | 0x045, 0x0CC, 0x00B, 0x048, 0x02E, 0x070, 0x00A, 0x040, | ||
119 | 0x039, 0x0D0, 0x0E4, 0x023, 0x09B, 0x033, 0x032, 0x017, | ||
120 | 0x09B, 0x033, 0x032, 0x003, 0x0CC, 0x085, 0x048, 0x0C7, | ||
121 | 0x038, 0x014, 0x0A5, 0x0CE, 0x029, 0x07E, 0x0D2, 0x080, | ||
122 | 0x0A1, 0x0A8, 0x0B4, 0x048, 0x088, 0x02F, 0x0CE, 0x083, | ||
123 | 0x00B, 0x01C, 0x0E1, 0x0D0, 0x0D7, 0x098, 0x004, 0x088, | ||
124 | 0x087, 0x0CE, 0x096, 0x031, 0x073, 0x0A5, 0x08F, 0x0F3, | ||
125 | 0x083, 0x058, 0x0D7, 0x0BE, 0x07B, 0x082, 0x0AF, 0x092, | ||
126 | 0x081, 0x08E, 0x0F0, 0x003, 0x003, 0x005, 0x018, 0x066, | ||
127 | 0x045, 0x0CC, 0x015, 0x020, 0x0B9, 0x0C8, 0x029, 0x000, | ||
128 | 0x0E7, 0x043, 0x090, 0x08E, 0x06C, 0x0CC, 0x0C8, 0x05E, | ||
129 | 0x06C, 0x0CC, 0x0C8, 0x00F, 0x032, 0x005, 0x023, 0x01C, | ||
130 | 0x0E4, 0x050, 0x0D4, 0x05A, 0x017, 0x088, 0x02F, 0x0CE, | ||
131 | 0x083, 0x010, 0x0F9, 0x0D0, 0x023, 0x017, 0x03A, 0x004, | ||
132 | 0x035, 0x0E6, 0x000, 0x022, 0x016, 0x039, 0x0C3, 0x0A3, | ||
133 | 0x0FC, 0x0E0, 0x0D6, 0x035, 0x0E0, 0x0BF, 0x0F4, 0x018, | ||
134 | 0x0F2, 0x02D, 0x04D, 0x043, 0x051, 0x06E, 0x05A, 0x022, | ||
135 | 0x01F, 0x030, 0x0D4, 0x017, 0x0E7, 0x041, 0x091, 0x073, | ||
136 | 0x005, 0x048, 0x02E, 0x077, 0x069, 0x000, 0x0E7, 0x043, | ||
137 | 0x090, 0x08E, 0x06C, 0x0CC, 0x0C8, 0x05E, 0x06C, 0x0CC, | ||
138 | 0x0C8, 0x00F, 0x032, 0x005, 0x023, 0x01C, 0x0EF, 0x04C, | ||
139 | 0x04E, 0x006, 0x004, 0x0C9, 0x09E, 0x00B, 0x0FF, 0x041, | ||
140 | 0x08F, 0x022, 0x0D4, 0x0D4, 0x035, 0x016, 0x0E5, 0x0A2, | ||
141 | 0x021, 0x0F3, 0x05A, 0x082, 0x0FC, 0x0E8, 0x032, 0x02E, | ||
142 | 0x060, 0x0A9, 0x005, 0x0CE, 0x013, 0x048, 0x007, 0x03A, | ||
143 | 0x01C, 0x084, 0x073, 0x066, 0x066, 0x042, 0x0F3, 0x066, | ||
144 | 0x066, 0x040, 0x079, 0x090, 0x029, 0x018, 0x0E7, 0x00A, | ||
145 | 0x098, 0x09C, 0x00A, 0x09E, 0x0B5, 0x012, 0x05C, 0x07C, | ||
146 | 0x0C3, 0x031, 0x08B, 0x098, 0x02A, 0x07C, 0x0D3, 0x0ED, | ||
147 | 0x038, 0x0E9, 0x0D3, 0x04E, 0x074, 0x0ED, 0x049, 0x09E, | ||
148 | 0x00B, 0x0FF, 0x041, 0x08F, 0x022, 0x0D4, 0x0D4, 0x035, | ||
149 | 0x016, 0x0E5, 0x0A2, 0x02D, 0x0EB, 0x045, 0x033, 0x08F, | ||
150 | 0x0FC, 0x0F7, 0x0A0, 0x05F, 0x025, 0x003, 0x01D, 0x0E4, | ||
151 | 0x00E, 0x006, 0x00A, 0x030, 0x0CC, 0x00C, 0x0F3, 0x0EB, | ||
152 | 0x040, 0x0DE, 0x061, 0x0A8, 0x070, 0x092, 0x00A, 0x000, | ||
153 | 0x0E1, 0x024, 0x01E, 0x000, 0x0E1, 0x024, 0x01E, 0x000, | ||
154 | 0x0E1, 0x024, 0x01E, 0x000, 0x0E1, 0x024, 0x01E, 0x000, | ||
155 | 0x0E1, 0x024, 0x01E, 0x001, 0x00F, 0x098, 0x02A, 0x00B, | ||
156 | 0x0F3, 0x0A0, 0x0C8, 0x0B9, 0x0A2, 0x0A4, 0x017, 0x03A, | ||
157 | 0x069, 0x000, 0x0E7, 0x043, 0x090, 0x08E, 0x075, 0x048, | ||
158 | 0x05E, 0x070, 0x069, 0x001, 0x0E6, 0x000, 0x052, 0x031, | ||
159 | 0x0CC, 0x018, 0x014, 0x0A5, 0x0CC, 0x009, 0x082, 0x094, | ||
160 | 0x073, 0x00C, 0x0A0, 0x091, 0x0F5, 0x025, 0x0CC, 0x007, | ||
161 | 0x006, 0x084, 0x084, 0x09F, 0x030, 0x0A2, 0x0A4, 0x07D, | ||
162 | 0x050, 0x075, 0x0A6, 0x065, 0x001, 0x04A, 0x08E, 0x0B4, | ||
163 | 0x0CC, 0x0C4, 0x035, 0x054, 0x075, 0x066, 0x0A4, 0x097, | ||
164 | 0x07A, 0x089, 0x050, 0x053, 0x013, 0x080, 0x019, 0x0E3, | ||
165 | 0x049, 0x05C, 0x06D, 0x0CE, 0x0A9, 0x040, 0x035, 0x006, | ||
166 | 0x078, 0x0D2, 0x057, 0x006, 0x0F1, 0x0B3, 0x02A, 0x08D, | ||
167 | 0x097, 0x023, 0x062, 0x092, 0x05D, 0x069, 0x099, 0x01C, | ||
168 | 0x06A, 0x036, 0x0E6, 0x0CD, 0x046, 0x012, 0x06F, 0x09E, | ||
169 | 0x0E1, 0x0AB, 0x0E4, 0x0A3, 0x00C, 0x0C0, 0x0DE, 0x0AC, | ||
170 | 0x0D4, 0x00D, 0x028, 0x01B, 0x0D0, 0x012, 0x0A5, 0x000, | ||
171 | 0x0F8, 0x04B, 0x0AD, 0x033, 0x028, 0x006, 0x0A0, 0x0DE, | ||
172 | 0x014, 0x097, 0x03A, 0x089, 0x05D, 0x0C0, 0x00D, 0x0E3, | ||
173 | 0x006, 0x090, 0x092, 0x05D, 0x069, 0x098, 0x066, 0x0B9, | ||
174 | 0x019, 0x095, 0x0E4, 0x0A8, 0x0CF, 0x09D, 0x033, 0x018, | ||
175 | 0x049, 0x0BE, 0x07B, 0x086, 0x0AF, 0x092, 0x08C, 0x033, | ||
176 | 0x024, 0x014, 0x00C, 0x0F4, 0x083, 0x024, 0x021, 0x0C2, | ||
177 | 0x070, 0x0BF, 0x0F4, 0x018, 0x0F2, 0x02D, 0x04D, 0x043, | ||
178 | 0x051, 0x06E, 0x05A, 0x022, 0x01F, 0x032, 0x0A8, 0x02F, | ||
179 | 0x0CE, 0x083, 0x022, 0x0E6, 0x005, 0x0A4, 0x017, 0x03A, | ||
180 | 0x069, 0x000, 0x0E7, 0x043, 0x090, 0x08E, 0x075, 0x048, | ||
181 | 0x05E, 0x070, 0x069, 0x001, 0x0E6, 0x042, 0x0A4, 0x063, | ||
182 | 0x098, 0x002, 0x029, 0x04B, 0x09A, 0x029, 0x078, 0x0E9, | ||
183 | 0x040, 0x053, 0x013, 0x081, 0x081, 0x032, 0x067, 0x082, | ||
184 | 0x0FF, 0x0D0, 0x063, 0x0C8, 0x0B5, 0x035, 0x00D, 0x045, | ||
185 | 0x0AE, 0x050, 0x008, 0x07C, 0x0E0, 0x0D0, 0x05F, 0x09D, | ||
186 | 0x006, 0x045, 0x0CC, 0x001, 0x0A4, 0x017, 0x03A, 0x069, | ||
187 | 0x000, 0x0E7, 0x043, 0x090, 0x08E, 0x075, 0x048, 0x05E, | ||
188 | 0x070, 0x069, 0x001, 0x0E6, 0x059, 0x0A4, 0x063, 0x098, | ||
189 | 0x01C, 0x052, 0x097, 0x03B, 0x030, 0x052, 0x08E, 0x07D, | ||
190 | 0x02A, 0x009, 0x01F, 0x051, 0x0EB, 0x0A4, 0x0A4, 0x00A, | ||
191 | 0x0B9, 0x094, 0x087, 0x0AE, 0x0C5, 0x031, 0x038, 0x002, | ||
192 | 0x0FF, 0x0D0, 0x063, 0x0C8, 0x0B5, 0x035, 0x00D, 0x045, | ||
193 | 0x0AE, 0x050, 0x008, 0x07C, 0x0EA, 0x020, 0x0BF, 0x03A, | ||
194 | 0x00C, 0x08B, 0x09A, 0x016, 0x090, 0x05C, 0x0E9, 0x0A4, | ||
195 | 0x003, 0x09D, 0x00E, 0x042, 0x039, 0x0D5, 0x021, 0x079, | ||
196 | 0x095, 0x048, 0x00F, 0x030, 0x00A, 0x091, 0x08E, 0x060, | ||
197 | 0x0EB, 0x029, 0x073, 0x000, 0x009, 0x054, 0x004, 0x0CA, | ||
198 | 0x082, 0x065, 0x052, 0x065, 0x0E4, 0x0CA, 0x022, 0x065, | ||
199 | 0x072, 0x065, 0x009, 0x032, 0x0E0, 0x099, 0x072, 0x04C, | ||
200 | 0x0C4, 0x0E0, 0x00B, 0x0FF, 0x041, 0x08F, 0x022, 0x0D4, | ||
201 | 0x0D4, 0x035, 0x016, 0x0B9, 0x040, 0x021, 0x0F3, 0x08A, | ||
202 | 0x082, 0x0FC, 0x0E8, 0x032, 0x02E, 0x060, 0x0A9, 0x005, | ||
203 | 0x0CE, 0x09A, 0x040, 0x039, 0x0D0, 0x0E4, 0x023, 0x09D, | ||
204 | 0x052, 0x017, 0x099, 0x054, 0x061, 0x099, 0x001, 0x0E6, | ||
205 | 0x040, 0x0A4, 0x063, 0x098, 0x004, 0x0B1, 0x084, 0x098, | ||
206 | 0x018, 0x0EF, 0x02D, 0x003, 0x005, 0x031, 0x038, 0x002, | ||
207 | 0x0FF, 0x0D0, 0x063, 0x0C8, 0x0B5, 0x035, 0x00D, 0x045, | ||
208 | 0x0B9, 0x068, 0x088, 0x07C, 0x0E0, 0x050, 0x05F, 0x09D, | ||
209 | 0x006, 0x045, 0x0CC, 0x081, 0x048, 0x02E, 0x071, 0x034, | ||
210 | 0x08F, 0x048, 0x001, 0x048, 0x015, 0x021, 0x005, 0x021, | ||
211 | 0x0E9, 0x00A, 0x052, 0x003, 0x0CE, 0x05A, 0x046, 0x039, | ||
212 | 0x0CF, 0x047, 0x08E, 0x060, 0x0AB, 0x01A, 0x0F3, 0x053, | ||
213 | 0x043, 0x0EB, 0x035, 0x024, 0x0B8, 0x01B, 0x030, 0x007, | ||
214 | 0x009, 0x08A, 0x074, 0x02F, 0x07E, 0x041, 0x074, 0x01E, | ||
215 | 0x01D, 0x00D, 0x087, 0x046, 0x049, 0x0D5, 0x095, 0x0D1, | ||
216 | 0x0D5, 0x0D5, 0x0BB, 0x0A9, 0x04E, 0x082, 0x09D, 0x005, | ||
217 | 0x03A, 0x00A, 0x074, 0x014, 0x0E8, 0x029, 0x0D0, 0x042, | ||
218 | 0x074, 0x05B, 0x0CE, 0x050, 0x0C4, 0x007, 0x045, 0x0BC, | ||
219 | 0x0E2, 0x00C, 0x040, 0x074, 0x05B, 0x0CE, 0x083, 0x004, | ||
220 | 0x0F9, 0x095, 0x04D, 0x013, 0x063, 0x05E, 0x06F, 0x031, | ||
221 | 0x03B, 0x0A0, 0x08B, 0x0A2, 0x0C5, 0x039, 0x08D, 0x078, | ||
222 | 0x03A, 0x022, 0x0A0, 0x000, 0x06B, 0x0C1, 0x0D1, 0x054, | ||
223 | 0x060, 0x016, 0x0D9, 0x091, 0x0A2, 0x0E7, 0x043, 0x08C, | ||
224 | 0x024, 0x0DC, 0x01C, 0x0E0, 0x051, 0x017, 0x039, 0x06B, | ||
225 | 0x03B, 0x0CC, 0x04B, 0x042, 0x02E, 0x06B, 0x050, 0x0BF, | ||
226 | 0x036, 0x036, 0x065, 0x04F, 0x07A, 0x018, 0x055, 0x025, | ||
227 | 0x078, 0x098, 0x023, 0x0E7, 0x050, 0x03E, 0x0F3, 0x081, | ||
228 | 0x04C, 0x002, 0x06D, 0x03E, 0x071, 0x053, 0x0AF, 0x078, | ||
229 | 0x0A9, 0x0D4, 0x0A6, 0x029, 0x0B1, 0x0BC, 0x0D9, 0x099, | ||
230 | 0x0B2, 0x08E, 0x062, 0x08F, 0x022, 0x02E, 0x075, 0x016, | ||
231 | 0x0B0, 0x0B2, 0x0AB, 0x023, 0x028, 0x016, 0x054, 0x052, | ||
232 | 0x031, 0x0BC, 0x0D9, 0x099, 0x0B2, 0x08E, 0x066, 0x019, | ||
233 | 0x002, 0x02E, 0x075, 0x016, 0x050, 0x02C, 0x0A9, 0x0C8, | ||
234 | 0x0C6, 0x0F5, 0x020, 0x0D3, 0x0E4, 0x07F, 0x04F, 0x09C, | ||
235 | 0x00A, 0x0D6, 0x016, 0x07F, 0x090, 0x0EE, 0x04C, 0x0EB, | ||
236 | 0x0CF, 0x0E2, 0x088, 0x0BA, 0x02F, 0x042, 0x086, 0x0AE, | ||
237 | 0x0BD, 0x0E5, 0x0A7, 0x052, 0x09F, 0x093, 0x063, 0x079, | ||
238 | 0x0EB, 0x033, 0x008, 0x0F9, 0x094, 0x052, 0x047, 0x0CD, | ||
239 | 0x099, 0x025, 0x06F, 0x03A, 0x00C, 0x013, 0x0E6, 0x055, | ||
240 | 0x034, 0x04C, 0x05A, 0x04D, 0x0B5, 0x023, 0x095, 0x0A5, | ||
241 | 0x048, 0x011, 0x05A, 0x00A, 0x043, 0x095, 0x0AC, 0x02C, | ||
242 | 0x0BA, 0x024, 0x005, 0x049, 0x0B1, 0x0BC, 0x0CA, 0x0A7, | ||
243 | 0x072, 0x06C, 0x06B, 0x0C5, 0x0BD, 0x0E8, 0x031, 0x069, | ||
244 | 0x052, 0x05D, 0x006, 0x012, 0x065, 0x03E, 0x0B1, 0x050, | ||
245 | 0x04C, 0x07D, 0x04F, 0x0AC, 0x00A, 0x030, 0x00B, 0x036, | ||
246 | 0x064, 0x011, 0x073, 0x08A, 0x083, 0x08E, 0x075, 0x012, | ||
247 | 0x09F, 0x07B, 0x0D2, 0x099, 0x058, 0x0EE, 0x082, 0x02E, | ||
248 | 0x077, 0x0A0, 0x0E3, 0x09D, 0x05D, 0x04F, 0x0BC, 0x02A, | ||
249 | 0x053, 0x029, 0x053, 0x0DE, 0x093, 0x024, 0x0BA, 0x0B3, | ||
250 | 0x036, 0x0AA, 0x04A, 0x0C6, 0x079, 0x0D4, 0x0B9, 0x0DE, | ||
251 | 0x062, 0x05A, 0x011, 0x073, 0x050, 0x050, 0x0BF, 0x037, | ||
252 | 0x036, 0x06F, 0x013, 0x023, 0x0BA, 0x00C, 0x024, 0x0CE, | ||
253 | 0x0BD, 0x0E2, 0x0A7, 0x052, 0x0B2, 0x08E, 0x06B, 0x060, | ||
254 | 0x062, 0x02E, 0x075, 0x013, 0x030, 0x0AC, 0x0A0, 0x059, | ||
255 | 0x0CA, 0x064, 0x063, 0x079, 0x0B3, 0x033, 0x065, 0x01C, | ||
256 | 0x0CC, 0x032, 0x004, 0x05C, 0x0EA, 0x02C, 0x0A0, 0x059, | ||
257 | 0x0DF, 0x023, 0x01B, 0x0D4, 0x083, 0x052, 0x047, 0x0DD, | ||
258 | 0x079, 0x096, 0x0D4, 0x09E, 0x0B3, 0x052, 0x04B, 0x0A2, | ||
259 | 0x05A, 0x01A, 0x08D, 0x05D, 0x07B, 0x082, 0x0A7, 0x052, | ||
260 | 0x0B2, 0x08E, 0x066, 0x019, 0x002, 0x02E, 0x075, 0x016, | ||
261 | 0x050, 0x02C, 0x08C, 0x032, 0x01D, 0x07B, 0x08E, 0x0A7, | ||
262 | 0x052, 0x0B1, 0x0BC, 0x0D9, 0x099, 0x098, 0x004, 0x0DA, | ||
263 | 0x07C, 0x0E2, 0x0AC, 0x0FE, 0x066, 0x019, 0x002, 0x02E, | ||
264 | 0x065, 0x050, 0x0BF, 0x033, 0x066, 0x064, 0x0FE, 0x074, | ||
265 | 0x018, 0x086, 0x04C, 0x017, 0x026, 0x0D6, 0x016, 0x052, | ||
266 | 0x039, 0x018, 0x0DE, 0x07A, 0x0CC, 0x0C2, 0x03E, 0x065, | ||
267 | 0x014, 0x091, 0x0F3, 0x066, 0x049, 0x008, 0x06E, 0x083, | ||
268 | 0x009, 0x033, 0x0AF, 0x031, 0x0ED, 0x00D, 0x09D, 0x006, | ||
269 | 0x012, 0x062, 0x02A, 0x031, 0x08D, 0x06D, 0x0E7, 0x041, | ||
270 | 0x082, 0x07C, 0x0CA, 0x0A6, 0x089, 0x087, 0x009, 0x02E, | ||
271 | 0x029, 0x0B1, 0x0AF, 0x010, 0x039, 0x0D6, 0x064, 0x097, | ||
272 | 0x030, 0x01D, 0x042, 0x075, 0x093, 0x044, 0x002, 0x08C, | ||
273 | 0x024, 0x0D2, 0x07A, 0x0B3, 0x050, 0x0F6, 0x089, 0x005, | ||
274 | 0x043, 0x05E, 0x061, 0x098, 0x0C0, 0x02C, 0x092, 0x025, | ||
275 | 0x03C, 0x08B, 0x024, 0x089, 0x049, 0x005, 0x049, 0x0E7, | ||
276 | 0x00C, 0x0B9, 0x084, 0x098, 0x0B7, 0x0AD, 0x033, 0x044, | ||
277 | 0x0AE, 0x05A, 0x051, 0x086, 0x060, 0x09F, 0x038, 0x0A9, | ||
278 | 0x0A2, 0x06C, 0x06B, 0x0C4, 0x08E, 0x0F4, 0x05E, 0x049, | ||
279 | 0x046, 0x012, 0x062, 0x0DE, 0x0B4, 0x0CD, 0x021, 0x05C, | ||
280 | 0x0B4, 0x0A3, 0x00C, 0x0C1, 0x03E, 0x072, 0x029, 0x0A2, | ||
281 | 0x06C, 0x06B, 0x0C6, 0x012, 0x062, 0x047, 0x0F0, 0x0E8, | ||
282 | 0x0C3, 0x032, 0x004, 0x035, 0x040, 0x092, 0x0A4, 0x082, | ||
283 | 0x088, 0x010, 0x092, 0x07C, 0x0CB, 0x0D4, 0x02F, 0x0A4, | ||
284 | 0x002, 0x011, 0x084, 0x098, 0x0B7, 0x0AD, 0x033, 0x044, | ||
285 | 0x0AE, 0x05A, 0x051, 0x086, 0x060, 0x09F, 0x038, 0x0A9, | ||
286 | 0x0A2, 0x06C, 0x06B, 0x0C4, 0x08E, 0x0F4, 0x05E, 0x049, | ||
287 | 0x044, 0x008, 0x049, 0x03E, 0x065, 0x0EA, 0x017, 0x0D2, | ||
288 | 0x001, 0x008, 0x0C2, 0x04C, 0x05B, 0x0D6, 0x099, 0x0A4, | ||
289 | 0x02B, 0x096, 0x094, 0x061, 0x098, 0x027, 0x0CE, 0x045, | ||
290 | 0x034, 0x04D, 0x08D, 0x078, 0x081, 0x009, 0x027, 0x0CC, | ||
291 | 0x0BD, 0x012, 0x028, 0x06C, 0x058, 0x0AF, 0x0B6, 0x0F3, | ||
292 | 0x0A0, 0x0C1, 0x03E, 0x065, 0x053, 0x044, 0x0D8, 0x0D7, | ||
293 | 0x092, 0x08E, 0x07D, 0x04B, 0x0C2, 0x0FA, 0x061, 0x026, | ||
294 | 0x006, 0x03A, 0x0B3, 0x06B, 0x003, 0x005, 0x049, 0x0E7, | ||
295 | 0x00C, 0x0B9, 0x06F, 0x05A, 0x066, 0x095, 0x05C, 0x0B4, | ||
296 | 0x0A3, 0x00C, 0x0C1, 0x03E, 0x070, 0x029, 0x0A2, 0x06E, | ||
297 | 0x0A4, 0x0DF, 0x093, 0x071, 0x013, 0x077, 0x026, 0x0E1, | ||
298 | 0x026, 0x0F8, 0x026, 0x0C6, 0x0BC, 0x094, 0x073, 0x0F9, | ||
299 | 0x02F, 0x00B, 0x0E9, 0x084, 0x098, 0x018, 0x0EA, 0x0CC, | ||
300 | 0x0EC, 0x00C, 0x015, 0x027, 0x09C, 0x032, 0x0FF, 0x03D, | ||
301 | 0x056, 0x0AF, 0x092, 0x08B, 0x07A, 0x0D3, 0x035, 0x0D5, | ||
302 | 0x0CB, 0x04A, 0x030, 0x0CC, 0x013, 0x0E7, 0x002, 0x09A, | ||
303 | 0x026, 0x0C6, 0x0BC, 0x094, 0x073, 0x041, 0x097, 0x091, | ||
304 | 0x0F4, 0x083, 0x0CE, 0x004, 0x020, 0x062, 0x08B, 0x005, | ||
305 | 0x016, 0x049, 0x08C, 0x024, 0x0C0, 0x0C7, 0x056, 0x090, | ||
306 | 0x0C0, 0x0C1, 0x052, 0x079, 0x0C3, 0x02E, 0x05B, 0x0D5, | ||
307 | 0x0A6, 0x072, 0x0D2, 0x094, 0x0FA, 0x0AD, 0x058, 0x0C8, | ||
308 | 0x0FA, 0x09F, 0x054, 0x0B3, 0x032, 0x04B, 0x0B9, 0x054, | ||
309 | 0x0A6, 0x051, 0x086, 0x06B, 0x079, 0x0D0, 0x060, 0x09F, | ||
310 | 0x032, 0x005, 0x034, 0x04D, 0x08D, 0x07A, 0x04D, 0x01E, | ||
311 | 0x07A, 0x0B3, 0x051, 0x000, 0x0A9, 0x03D, 0x059, 0x0A8, | ||
312 | 0x07B, 0x044, 0x082, 0x0A1, 0x0AF, 0x04A, 0x08D, 0x052, | ||
313 | 0x0A9, 0x052, 0x041, 0x049, 0x04F, 0x03A, 0x02E, 0x040, | ||
314 | 0x0A4, 0x099, 0x050, 0x0BE, 0x090, 0x008, 0x052, 0x079, | ||
315 | 0x0C3, 0x02E, 0x061, 0x026, 0x02D, 0x0EB, 0x04C, 0x0D0, | ||
316 | 0x015, 0x0CB, 0x04A, 0x030, 0x0CC, 0x013, 0x0E7, 0x002, | ||
317 | 0x09A, 0x026, 0x0C6, 0x0BC, 0x048, 0x0FE, 0x01D, 0x025, | ||
318 | 0x046, 0x0A9, 0x054, 0x0A9, 0x020, 0x0A4, 0x0A7, 0x09D, | ||
319 | 0x017, 0x020, 0x052, 0x04C, 0x0A8, 0x05F, 0x048, 0x004, | ||
320 | 0x023, 0x009, 0x031, 0x06F, 0x05A, 0x066, 0x080, 0x0AE, | ||
321 | 0x05A, 0x051, 0x086, 0x060, 0x09F, 0x038, 0x014, 0x0D1, | ||
322 | 0x036, 0x035, 0x0E4, 0x0A7, 0x09D, 0x017, 0x020, 0x052, | ||
323 | 0x04C, 0x0A2, 0x045, 0x00D, 0x08B, 0x015, 0x0F4, 0x091, | ||
324 | 0x0DE, 0x08B, 0x0C9, 0x028, 0x0C2, 0x04C, 0x05B, 0x0D6, | ||
325 | 0x099, 0x0A9, 0x05C, 0x0B4, 0x0A3, 0x00C, 0x0D6, 0x0F3, | ||
326 | 0x0A0, 0x0C1, 0x03E, 0x064, 0x00A, 0x068, 0x09B, 0x01A, | ||
327 | 0x0F1, 0x06D, 0x04C, 0x0AA, 0x092, 0x0E0, 0x036, 0x094, | ||
328 | 0x070, 0x09B, 0x029, 0x078, 0x013, 0x0AE, 0x0B3, 0x0AA, | ||
329 | 0x085, 0x0D4, 0x043, 0x075, 0x009, 0x03A, 0x0C9, 0x0EB, | ||
330 | 0x035, 0x024, 0x0B8, 0x01B, 0x032, 0x08E, 0x013, 0x048, | ||
331 | 0x07E, 0x04E, 0x0FD, 0x040, 0x0FD, 0x040, 0x0FD, 0x040, | ||
332 | 0x0FD, 0x040, 0x0FD, 0x040, 0x0FC, 0x013, 0x0F4, 0x021, | ||
333 | 0x0F9, 0x017, 0x045, 0x08A, 0x030, 0x00B, 0x033, 0x05F, | ||
334 | 0x083, 0x0A2, 0x02A, 0x030, 0x00B, 0x033, 0x05F, 0x083, | ||
335 | 0x0A2, 0x0A8, 0x0C0, 0x02D, 0x0B3, 0x020, 0x070, 0x092, | ||
336 | 0x013, 0x09A, 0x0DE, 0x074, 0x018, 0x027, 0x0CC, 0x0AA, | ||
337 | 0x068, 0x09B, 0x01A, 0x0F7, 0x007, 0x045, 0x051, 0x080, | ||
338 | 0x05B, 0x066, 0x047, 0x007, 0x038, 0x0A8, 0x023, 0x0E7, | ||
339 | 0x051, 0x011, 0x03F, 0x0E0, 0x0E8, 0x085, 0x046, 0x001, | ||
340 | 0x06D, 0x099, 0x006, 0x012, 0x065, 0x04F, 0x07A, 0x020, | ||
341 | 0x024, 0x0BA, 0x0B3, 0x032, 0x015, 0x025, 0x07B, 0x0AD, | ||
342 | 0x033, 0x078, 0x0AE, 0x00E, 0x073, 0x0D0, 0x047, 0x0CE, | ||
343 | 0x0A7, 0x030, 0x0CC, 0x044, 0x0FF, 0x083, 0x0A2, 0x0A8, | ||
344 | 0x0C0, 0x02C, 0x0D9, 0x091, 0x0C1, 0x0D1, 0x015, 0x018, | ||
345 | 0x005, 0x09B, 0x032, 0x008, 0x0BA, 0x02C, 0x051, 0x080, | ||
346 | 0x059, 0x0B3, 0x020, 0x070, 0x092, 0x0E2, 0x098, 0x089, | ||
347 | 0x0FD, 0x0BC, 0x0EE, 0x018, 0x090, 0x0FC, 0x08B, 0x0A2, | ||
348 | 0x0C5, 0x02B, 0x00D, 0x078, 0x03A, 0x022, 0x0A5, 0x061, | ||
349 | 0x0AF, 0x007, 0x045, 0x051, 0x080, 0x05B, 0x066, 0x044, | ||
350 | 0x09E, 0x0B3, 0x052, 0x04B, 0x083, 0x0AD, 0x0C7, 0x009, | ||
351 | 0x0BE, 0x01F, 0x09F, 0x074, 0x065, 0x05D, 0x00A, 0x017, | ||
352 | 0x07C, 0x0AB, 0x0A0, 0x0C2, 0x04C, 0x038, 0x049, 0x012, | ||
353 | 0x02E, 0x038, 0x049, 0x007, 0x0A3, 0x00C, 0x0C1, 0x03E, | ||
354 | 0x065, 0x053, 0x044, 0x0D8, 0x0D7, 0x0AD, 0x0E7, 0x000, | ||
355 | 0x032, 0x04B, 0x09B, 0x033, 0x034, 0x04A, 0x003, 0x000, | ||
356 | 0x09D, 0x025, 0x0CE, 0x083, 0x024, 0x0B8, 0x019, 0x099, | ||
357 | 0x08C, 0x002, 0x012, 0x04B, 0x0A1, 0x099, 0x0D8, 0x0C0, | ||
358 | 0x027, 0x049, 0x073, 0x0CF, 0x0F9, 0x03C, 0x0F4, 0x07C, | ||
359 | 0x0E7, 0x098, 0x004, 0x0E9, 0x02E, 0x07F, 0x039, 0x0E3, | ||
360 | 0x04F, 0x046, 0x053, 0x0C0, 0x060, 0x013, 0x0A4, 0x0B9, | ||
361 | 0x0E5, 0x03C, 0x003, 0x0DE, 0x08F, 0x09C, 0x0F3, 0x000, | ||
362 | 0x09C, 0x06F, 0x0CF, 0x03E, 0x085, 0x0F9, 0x0A3, 0x036, | ||
363 | 0x002, 0x01E, 0x060, 0x038, 0x092, 0x03E, 0x063, 0x01A, | ||
364 | 0x010, 0x09F, 0x0CF, 0x018, 0x010, 0x092, 0x0BC, 0x0D0, | ||
365 | 0x0A4, 0x00C, 0x0DC, 0x0C0, 0x00F, 0x09C, 0x097, 0x034, | ||
366 | 0x062, 0x0B6, 0x0E7, 0x0F3, 0x0F3, 0x0A5, 0x0CF, 0x018, | ||
367 | 0x042, 0x034, 0x01C, 0x0C2, 0x0CA, 0x0FA, 0x08E, 0x068, | ||
368 | 0x052, 0x006, 0x0AF, 0x03C, 0x0A3, 0x00D, 0x0BF, 0x09E, | ||
369 | 0x050, 0x0E1, 0x0D1, 0x073, 0x0CA, 0x0E0, 0x03A, 0x0FC, | ||
370 | 0x0C1, 0x009, 0x01A, 0x01E, 0x06A, 0x05C, 0x05B, 0x08E, | ||
371 | 0x063, 0x04E, 0x077, 0x073, 0x0CC, 0x061, 0x067, 0x0DD, | ||
372 | 0x0E6, 0x06C, 0x048, 0x0D1, 0x0F3, 0x01B, 0x024, 0x069, | ||
373 | 0x051, 0x008, 0x0D4, 0x042, 0x01B, 0x0F4, 0x067, 0x0D1, | ||
374 | 0x080, 0x04E, 0x02F, 0x0D0, 0x08C, 0x0D8, 0x030, 0x009, | ||
375 | 0x0C2, 0x01E, 0x080, 0x01C, 0x046, 0x001, 0x03A, 0x047, | ||
376 | 0x0D0, 0x031, 0x0A1, 0x006, 0x001, 0x03A, 0x07F, 0x046, | ||
377 | 0x030, 0x021, 0x018, 0x004, 0x0E9, 0x05E, 0x084, 0x029, | ||
378 | 0x000, 0x0C0, 0x027, 0x0CD, 0x0D0, 0x000, 0x07C, 0x098, | ||
379 | 0x004, 0x0F9, 0x02E, 0x084, 0x062, 0x08C, 0x002, 0x07D, | ||
380 | 0x0BA, 0x03E, 0x07E, 0x04C, 0x002, 0x07D, 0x02E, 0x08C, | ||
381 | 0x061, 0x008, 0x030, 0x009, 0x0F4, 0x01D, 0x001, 0x065, | ||
382 | 0x073, 0x000, 0x09F, 0x051, 0x0D0, 0x085, 0x020, 0x018, | ||
383 | 0x004, 0x0FA, 0x0BD, 0x019, 0x046, 0x018, 0x0C0, 0x027, | ||
384 | 0x0DF, 0x0D1, 0x094, 0x038, 0x04C, 0x002, 0x07D, 0x017, | ||
385 | 0x046, 0x057, 0x001, 0x030, 0x009, 0x0F5, 0x0FA, 0x001, | ||
386 | 0x009, 0x006, 0x001, 0x03E, 0x087, 0x0A1, 0x04B, 0x088, | ||
387 | 0x0C0, 0x027, 0x0DC, 0x074, 0x00D, 0x039, 0x0D3, 0x000, | ||
388 | 0x09F, 0x073, 0x0D0, 0x030, 0x0B3, 0x098, 0x004, 0x0FB, | ||
389 | 0x0BD, 0x006, 0x0C4, 0x083, 0x000, 0x09F, 0x047, 0x0D0, | ||
390 | 0x036, 0x048, 0x0CC, 0x002, 0x071, 0x0BF, 0x03F, 0x09A, | ||
391 | 0x017, 0x0E6, 0x03F, 0x008, 0x021, 0x0E6, 0x092, 0x0A4, | ||
392 | 0x08F, 0x09A, 0x010, 0x031, 0x0A7, 0x0F3, 0x010, 0x0B1, | ||
393 | 0x084, 0x0AF, 0x03A, 0x0AC, 0x0DC, 0x0F7, 0x073, 0x0F2, | ||
394 | 0x05C, 0x0C6, 0x02A, 0x0DB, 0x09E, 0x07E, 0x07E, 0x097, | ||
395 | 0x031, 0x008, 0x063, 0x0D0, 0x073, 0x07B, 0x043, 0x0A8, | ||
396 | 0x0E6, 0x03D, 0x034, 0x0EA, 0x0F3, 0x0E3, 0x015, 0x0BF, | ||
397 | 0x09F, 0x018, 0x05F, 0x045, 0x0CF, 0x0E8, 0x09F, 0x05F, | ||
398 | 0x09A, 0x05B, 0x003, 0x0D0, 0x0F3, 0x0D3, 0x0CE, 0x037, | ||
399 | 0x01C, 0x0D0, 0x00F, 0x0BB, 0x09E, 0x068, 0x078, 0x03B, | ||
400 | 0x0BC, 0x0CA, 0x031, 0x0E8, 0x0F9, 0x0A2, 0x002, 0x012, | ||
401 | 0x0A2, 0x073, 0x051, 0x008, 0x06F, 0x0D1, 0x0F3, 0x046, | ||
402 | 0x001, 0x038, 0x0BF, 0x040, 0x0FC, 0x023, 0x000, 0x09C, | ||
403 | 0x021, 0x0E8, 0x049, 0x051, 0x080, 0x04E, 0x091, 0x0F4, | ||
404 | 0x021, 0x003, 0x019, 0x080, 0x04E, 0x09F, 0x0D0, 0x021, | ||
405 | 0x063, 0x006, 0x001, 0x03A, 0x056, 0x08C, 0x002, 0x074, | ||
406 | 0x0FE, 0x075, 0x049, 0x05E, 0x063, 0x0D3, 0x04A, 0x054, | ||
407 | 0x042, 0x035, 0x013, 0x0A7, 0x0D1, 0x080, 0x04E, 0x095, | ||
408 | 0x0E8, 0x01E, 0x09A, 0x04C, 0x002, 0x07C, 0x0DD, 0x01B, | ||
409 | 0x0B9, 0x0E6, 0x001, 0x03E, 0x04B, 0x0A0, 0x062, 0x0A3, | ||
410 | 0x000, 0x09F, 0x06E, 0x08C, 0x0FC, 0x0F3, 0x000, 0x09F, | ||
411 | 0x04B, 0x0A0, 0x042, 0x018, 0x0CC, 0x002, 0x07D, 0x007, | ||
412 | 0x043, 0x0DA, 0x013, 0x000, 0x09F, 0x051, 0x0D0, 0x03D, | ||
413 | 0x034, 0x098, 0x004, 0x0FA, 0x0BD, 0x01C, 0x062, 0x08C, | ||
414 | 0x002, 0x07D, 0x0FD, 0x01C, 0x061, 0x073, 0x000, 0x09F, | ||
415 | 0x045, 0x0D1, 0x0F4, 0x04E, 0x060, 0x013, 0x0EB, 0x0F4, | ||
416 | 0x025, 0x0B0, 0x033, 0x000, 0x09F, 0x043, 0x0D1, 0x0A7, | ||
417 | 0x09C, 0x018, 0x004, 0x0FB, 0x08E, 0x084, 0x003, 0x0E9, | ||
418 | 0x080, 0x04F, 0x0B9, 0x0E8, 0x043, 0x0C1, 0x030, 0x009, | ||
419 | 0x0F7, 0x07A, 0x00A, 0x031, 0x098, 0x004, 0x0FA, 0x03E, | ||
420 | 0x084, 0x040, 0x041, 0x080, 0x04E, 0x082, 0x0E7, 0x041, | ||
421 | 0x087, 0x009, 0x023, 0x004, 0x023, 0x000, 0x09D, 0x005, | ||
422 | 0x0CE, 0x096, 0x01C, 0x024, 0x08C, 0x010, 0x08C, 0x002, | ||
423 | 0x074, 0x017, 0x03A, 0x004, 0x038, 0x049, 0x018, 0x021, | ||
424 | 0x018, 0x004, 0x0E8, 0x02E, 0x074, 0x050, 0x0E1, 0x024, | ||
425 | 0x060, 0x084, 0x060, 0x013, 0x0A0, 0x0B9, 0x0D4, 0x011, | ||
426 | 0x0C2, 0x048, 0x0C1, 0x008, 0x0C0, 0x027, 0x041, 0x073, | ||
427 | 0x0A8, 0x023, 0x084, 0x091, 0x082, 0x011, 0x080, 0x04E, | ||
428 | 0x082, 0x0E7, 0x052, 0x08E, 0x012, 0x046, 0x008, 0x046, | ||
429 | 0x001, 0x03A, 0x00B, 0x09D, 0x040, 0x01C, 0x024, 0x08C, | ||
430 | 0x010, 0x08C, 0x002, 0x074, 0x017, 0x03A, 0x009, 0x00E, | ||
431 | 0x012, 0x046, 0x008, 0x046, 0x001, 0x03A, 0x00B, 0x098, | ||
432 | 0x06A, 0x01C, 0x024, 0x0B0, 0x0E1, 0x018, 0x004, 0x0E8, | ||
433 | 0x02E, 0x06B, 0x050, 0x0E1, 0x025, 0x087, 0x008, 0x0C0, | ||
434 | 0x027, 0x041, 0x073, 0x005, 0x043, 0x084, 0x096, 0x01C, | ||
435 | 0x023, 0x000, 0x09D, 0x005, 0x0CC, 0x0AA, 0x01C, 0x024, | ||
436 | 0x0B0, 0x0E1, 0x018, 0x004, 0x0E8, 0x02E, 0x070, 0x068, | ||
437 | 0x070, 0x092, 0x0C3, 0x084, 0x060, 0x013, 0x0E5, 0x044, | ||
438 | 0x0F9, 0x040, 0x09D, 0x005, 0x0CE, 0x05A, 0x01C, 0x024, | ||
439 | 0x0B0, 0x0E1, 0x018, 0x004, 0x0F9, 0x0D1, 0x03E, 0x070, | ||
440 | 0x027, 0x0CF, 0x013, 0x0E5, 0x044, 0x02C, 0x0A0, 0x042, | ||
441 | 0x0CB, 0x089, 0x0F2, 0x021, 0x03A, 0x00B, 0x09C, 0x00A, | ||
442 | 0x01C, 0x024, 0x0B0, 0x0E1, 0x018, 0x004, 0x0F9, 0x0D1, | ||
443 | 0x00B, 0x038, 0x010, 0x0B3, 0x0C4, 0x021, 0x039, 0x036, | ||
444 | 0x05C, 0x042, 0x0C8, 0x084, 0x02B, 0x079, 0x0D0, 0x061, | ||
445 | 0x0C2, 0x074, 0x015, 0x024, 0x0BA, 0x0D3, 0x031, 0x0E5, | ||
446 | 0x059, 0x008, 0x029, 0x008, 0x0E0, 0x066, 0x063, 0x042, | ||
447 | 0x095, 0x012, 0x081, 0x000, 0x029, 0x00B, 0x0C1, 0x051, | ||
448 | 0x024, 0x0B8, 0x019, 0x099, 0x090, 0x022, 0x090, 0x0B4, | ||
449 | 0x018, 0x0A0, 0x091, 0x041, 0x001, 0x041, 0x041, 0x041, | ||
450 | 0x052, 0x083, 0x0CA, 0x040, 0x028, 0x068, 0x029, 0x008, | ||
451 | 0x0BA, 0x016, 0x010, 0x09C, 0x099, 0x00B, 0x056, 0x094, | ||
452 | 0x090, 0x052, 0x015, 0x074, 0x0C0, 0x027, 0x01A, 0x02A, | ||
453 | 0x0D2, 0x090, 0x025, 0x0D3, 0x000, 0x09D, 0x028, 0x0AB, | ||
454 | 0x04A, 0x042, 0x017, 0x04C, 0x002, 0x070, 0x0D4, 0x084, | ||
455 | 0x02E, 0x098, 0x004, 0x0E1, 0x02A, 0x042, 0x017, 0x04C, | ||
456 | 0x002, 0x070, 0x082, 0x090, 0x04B, 0x0A6, 0x001, 0x038, | ||
457 | 0x051, 0x048, 0x042, 0x0E9, 0x080, 0x04E, 0x015, 0x0A4, | ||
458 | 0x021, 0x074, 0x0C0, 0x027, 0x00F, 0x0A4, 0x012, 0x0E9, | ||
459 | 0x080, 0x04E, 0x082, 0x0AC, 0x080, 0x0AC, 0x0A0, 0x0AC, | ||
460 | 0x0A9, 0x059, 0x0E5, 0x064, 0x045, 0x065, 0x0CA, 0x0C8, | ||
461 | 0x04A, 0x0CE, 0x00A, 0x0CE, 0x04A, 0x0CE, 0x095, 0x091, | ||
462 | 0x095, 0x094, 0x095, 0x093, 0x029, 0x025, 0x0C0, 0x0CC, | ||
463 | 0x0CC, 0x088, 0x0A4, 0x097, 0x056, 0x036, 0x064, 0x072, | ||
464 | 0x090, 0x054, 0x08A, 0x09C, 0x045, 0x008, 0x0B9, 0x0B7, | ||
465 | 0x066, 0x012, 0x093, 0x009, 0x0C9, 0x0B2, 0x074, 0x08E, | ||
466 | 0x0BA, 0x060, 0x013, 0x0E5, 0x034, 0x08E, 0x0BA, 0x060, | ||
467 | 0x013, 0x0E4, 0x074, 0x08E, 0x0BA, 0x060, 0x013, 0x0E5, | ||
468 | 0x069, 0x01D, 0x074, 0x0C0, 0x027, 0x0CA, 0x029, 0x01D, | ||
469 | 0x074, 0x0C0, 0x027, 0x0CE, 0x0D2, 0x025, 0x0D3, 0x000, | ||
470 | 0x09F, 0x038, 0x0A4, 0x04B, 0x0A6, 0x001, 0x03E, 0x05E, | ||
471 | 0x091, 0x02E, 0x098, 0x004, 0x0F9, 0x015, 0x022, 0x05D, | ||
472 | 0x030, 0x009, 0x0F3, 0x0E9, 0x012, 0x0E9, 0x080, 0x04F, | ||
473 | 0x090, 0x052, 0x025, 0x0D3, 0x000, 0x09D, 0x0C5, 0x048, | ||
474 | 0x025, 0x0D3, 0x000, 0x09C, 0x045, 0x0CE, 0x0CD, 0x009, | ||
475 | 0x0C9, 0x0B2, 0x01A, 0x044, 0x0BA, 0x060, 0x013, 0x0E7, | ||
476 | 0x034, 0x089, 0x074, 0x0C0, 0x027, 0x01C, 0x027, 0x0B7, | ||
477 | 0x09C, 0x080, 0x0C2, 0x0D7, 0x076, 0x059, 0x09B, 0x093, | ||
478 | 0x00C, 0x064, 0x0C3, 0x01D, 0x01B, 0x0F4, 0x045, 0x04B, | ||
479 | 0x0C7, 0x0C6, 0x03A, 0x037, 0x0E8, 0x081, 0x04B, 0x0C7, | ||
480 | 0x0C6, 0x03A, 0x037, 0x0E8, 0x091, 0x04B, 0x0C7, 0x0C6, | ||
481 | 0x032, 0x061, 0x08E, 0x0B3, 0x0BC, 0x0C3, 0x04A, 0x022, | ||
482 | 0x0E6, 0x0B5, 0x024, 0x097, 0x071, 0x0C9, 0x087, 0x0B4, | ||
483 | 0x031, 0x0AE, 0x073, 0x0A2, 0x0CF, 0x039, 0x0D2, 0x05D, | ||
484 | 0x004, 0x044, 0x042, 0x0C0, 0x0D6, 0x0DE, 0x071, 0x006, | ||
485 | 0x016, 0x0BB, 0x0DB, 0x0CE, 0x083, 0x00C, 0x064, 0x0C3, | ||
486 | 0x01D, 0x031, 0x013, 0x004, 0x0F9, 0x095, 0x04D, 0x013, | ||
487 | 0x032, 0x093, 0x063, 0x05E, 0x066, 0x014, 0x0CC, 0x029, | ||
488 | 0x02A, 0x053, 0x030, 0x0A6, 0x061, 0x04C, 0x0C2, 0x099, | ||
489 | 0x085, 0x03A, 0x072, 0x0CC, 0x0C2, 0x099, 0x085, 0x006, | ||
490 | 0x01B, 0x0B3, 0x00A, 0x066, 0x014, 0x014, 0x024, 0x099, | ||
491 | 0x085, 0x033, 0x00A, 0x008, 0x0B1, 0x086, 0x061, 0x04C, | ||
492 | 0x0C2, 0x084, 0x021, 0x068, 0x073, 0x03B, 0x030, 0x0A6, | ||
493 | 0x061, 0x041, 0x04E, 0x0A5, 0x098, 0x053, 0x030, 0x0AC, | ||
494 | 0x059, 0x076, 0x061, 0x04C, 0x0C2, 0x0B0, 0x08D, 0x0D6, | ||
495 | 0x061, 0x04C, 0x0C2, 0x0B0, 0x02C, 0x0F6, 0x061, 0x04C, | ||
496 | 0x0C2, 0x0B1, 0x08C, 0x0A5, 0x098, 0x053, 0x030, 0x0AC, | ||
497 | 0x00F, 0x024, 0x0CC, 0x029, 0x098, 0x056, 0x00F, 0x028, | ||
498 | 0x066, 0x015, 0x092, 0x01A, 0x019, 0x085, 0x033, 0x00A, | ||
499 | 0x0CA, 0x085, 0x00C, 0x0C2, 0x099, 0x085, 0x065, 0x0C3, | ||
500 | 0x0D9, 0x085, 0x033, 0x00A, 0x0CE, 0x070, 0x086, 0x061, | ||
501 | 0x04C, 0x0C2, 0x0B3, 0x097, 0x071, 0x00C, 0x099, 0x03B, | ||
502 | 0x0CC, 0x083, 0x058, 0x00B, 0x0EA, 0x077, 0x09D, 0x006, | ||
503 | 0x04A, 0x0BE, 0x004, 0x074, 0x060, 0x0E0, 0x0D1, 0x04E, | ||
504 | 0x038, 0x04C, 0x03E, 0x0EE, 0x03E, 0x0EE, 0x03E, 0x0EE, | ||
505 | 0x03E, 0x0EE, 0x030, 0x0BB, 0x0CA, 0x0E1, 0x01F, 0x077, | ||
506 | 0x01F, 0x077, 0x01F, 0x077, 0x01F, 0x077, 0x027, 0x070, | ||
507 | 0x08F, 0x0BB, 0x080, 0x00E, 0x011, 0x0F7, 0x071, 0x0F7, | ||
508 | 0x07C, 0x06F, 0x03C, 0x0B3, 0x036, 0x002, 0x0FB, 0x08D, | ||
509 | 0x0E6, 0x055, 0x070, 0x07F, 0x02D, 0x024, 0x069, 0x055, | ||
510 | 0x04F, 0x058, 0x0A9, 0x023, 0x01F, 0x054, 0x0F7, 0x08A, | ||
511 | 0x095, 0x025, 0x02B, 0x075, 0x00C, 0x0CC, 0x0AC, 0x056, | ||
512 | 0x051, 0x0CC, 0x051, 0x0E4, 0x045, 0x0CE, 0x0A2, 0x012, | ||
513 | 0x039, 0x0C0, 0x0A0, 0x0AF, 0x056, 0x06A, 0x049, 0x07F, | ||
514 | 0x002, 0x08C, 0x009, 0x0F8, 0x00B, 0x0EB, 0x0AF, 0x056, | ||
515 | 0x076, 0x067, 0x052, 0x0B2, 0x08E, 0x069, 0x0A7, 0x011, | ||
516 | 0x073, 0x0A8, 0x0B1, 0x0BC, 0x0CA, 0x0A0, 0x0A9, 0x036, | ||
517 | 0x050, 0x02C, 0x098, 0x0E7, 0x00A, 0x0F5, 0x066, 0x0A4, | ||
518 | 0x097, 0x0E2, 0x05A, 0x030, 0x027, 0x0BA, 0x0F7, 0x083, | ||
519 | 0x04E, 0x0A5, 0x033, 0x00A, 0x066, 0x015, 0x08D, 0x0E6, | ||
520 | 0x055, 0x039, 0x0D2, 0x0A7, 0x0AC, 0x054, 0x060, 0x016, | ||
521 | 0x070, 0x01B, 0x072, 0x08E, 0x062, 0x08F, 0x022, 0x02E, | ||
522 | 0x075, 0x016, 0x002, 0x0FB, 0x08D, 0x0E6, 0x00A, 0x095, | ||
523 | 0x03D, 0x062, 0x0A3, 0x000, 0x0B7, 0x001, 0x0B5, 0x053, | ||
524 | 0x0DE, 0x02A, 0x054, 0x094, 0x0AD, 0x0D4, 0x033, 0x032, | ||
525 | 0x0B1, 0x059, 0x047, 0x031, 0x047, 0x091, 0x017, 0x03A, | ||
526 | 0x088, 0x048, 0x0E7, 0x002, 0x0B0, 0x017, 0x0DC, 0x067, | ||
527 | 0x09D, 0x04B, 0x08D, 0x0E7, 0x052, 0x0AA, 0x07B, 0x0D4, | ||
528 | 0x0AA, 0x092, 0x0BD, 0x0D6, 0x099, 0x0BC, 0x056, 0x002, | ||
529 | 0x0FB, 0x08C, 0x0F3, 0x066, 0x066, 0x0C6, 0x0F3, 0x066, | ||
530 | 0x066, 0x062, 0x099, 0x02A, 0x0F8, 0x018, 0x068, 0x070, | ||
531 | 0x0B0, 0x08A, 0x00D, 0x055, 0x055, 0x055, 0x055, 0x052, | ||
532 | 0x032, 0x0E1, 0x040, 0x05C, 0x038, 0x00B, 0x0EA, 0x09B, | ||
533 | 0x087, 0x001, 0x07D, 0x0C0, 0x05F, 0x070, 0x017, 0x0DC, | ||
534 | 0x005, 0x0F5, 0x0DC, 0x09B, 0x001, 0x07D, 0x061, 0x04D, | ||
535 | 0x080, 0x0BE, 0x0A7, 0x079, 0x082, 0x0A2, 0x01F, 0x050, | ||
536 | 0x015, 0x02A, 0x08F, 0x08B, 0x01C, 0x0E5, 0x0A5, 0x013, | ||
537 | 0x084, 0x058, 0x0E7, 0x002, 0x091, 0x054, 0x005, 0x002, | ||
538 | 0x04B, 0x0BD, 0x022, 0x01A, 0x094, 0x07F, 0x09C, 0x01A, | ||
539 | 0x0C0, 0x05F, 0x042, 0x01A, 0x021, 0x0D1, 0x080, 0x059, | ||
540 | 0x0C0, 0x06D, 0x01C, 0x02C, 0x00A, 0x083, 0x055, 0x055, | ||
541 | 0x055, 0x055, 0x055, 0x055, 0x055, 0x055, 0x055, 0x055, | ||
542 | 0x055, 0x054, 0x01C, 0x0B8, 0x05C, 0x06E, 0x017, 0x09C, | ||
543 | 0x02F, 0x038, 0x05E, 0x070, 0x0E7, 0x0B8, 0x05E, 0x070, | ||
544 | 0x0BC, 0x0E1, 0x079, 0x0C2, 0x0F3, 0x085, 0x0E7, 0x00B, | ||
545 | 0x0CE, 0x017, 0x09C, 0x029, 0x09C, 0x029, 0x09C, 0x029, | ||
546 | 0x09C, 0x023, 0x00F, 0x058, 0x014, 0x0EE, 0x035, 0x077, | ||
547 | 0x026, 0x021, 0x093, 0x005, 0x0C9, 0x0B0, 0x017, 0x0D2, | ||
548 | 0x01D, 0x018, 0x08A, 0x021, 0x093, 0x005, 0x0C9, 0x0B0, | ||
549 | 0x017, 0x0D1, 0x087, 0x0AC, 0x00A, 0x074, 0x00F, 0x0AE, | ||
550 | 0x0F5, 0x05A, 0x082, 0x0A3, 0x0E4, 0x03A, 0x031, 0x014, | ||
551 | 0x0BB, 0x0D7, 0x059, 0x099, 0x074, 0x0A2, 0x019, 0x030, | ||
552 | 0x05C, 0x09B, 0x001, 0x07D, 0x018, 0x07A, 0x0C0, 0x0A7, | ||
553 | 0x040, 0x0F8, 0x043, 0x0D4, 0x063, 0x089, 0x025, 0x0D0, | ||
554 | 0x010, 0x0D6, 0x01C, 0x06A, 0x010, 0x0F5, 0x055, 0x089, | ||
555 | 0x025, 0x0D1, 0x051, 0x066, 0x01F, 0x051, 0x0F5, 0x091, | ||
556 | 0x049, 0x02E, 0x089, 0x015, 0x098, 0x06A, 0x0A3, 0x0E0, | ||
557 | 0x08A, 0x094, 0x065, 0x064, 0x00E, 0x013, 0x017, 0x038, | ||
558 | 0x0A8, 0x086, 0x04C, 0x017, 0x026, 0x0C0, 0x05F, 0x046, | ||
559 | 0x01E, 0x0B0, 0x028, 0x063, 0x01F, 0x008, 0x07A, 0x08C, | ||
560 | 0x071, 0x024, 0x0BA, 0x002, 0x01A, 0x0D0, 0x00D, 0x042, | ||
561 | 0x01E, 0x0AA, 0x0B1, 0x024, 0x0BA, 0x02A, 0x02D, 0x031, | ||
562 | 0x0F5, 0x01F, 0x058, 0x074, 0x092, 0x0E8, 0x087, 0x05A, | ||
563 | 0x063, 0x052, 0x0DE, 0x0F4, 0x051, 0x069, 0x04A, 0x03E, | ||
564 | 0x009, 0x069, 0x046, 0x050, 0x0F0, 0x0E1, 0x031, 0x073, | ||
565 | 0x005, 0x045, 0x0BD, 0x059, 0x08D, 0x08B, 0x04A, 0x07C, | ||
566 | 0x0D3, 0x0ED, 0x038, 0x0E9, 0x0D3, 0x04E, 0x074, 0x0ED, | ||
567 | 0x044, 0x032, 0x060, 0x0B9, 0x036, 0x002, 0x0FA, 0x05B, | ||
568 | 0x0DE, 0x08A, 0x02D, 0x029, 0x0D0, 0x0E1, 0x021, 0x0F5, | ||
569 | 0x0A3, 0x092, 0x021, 0x0F2, 0x019, 0x030, 0x05C, 0x09B, | ||
570 | 0x001, 0x07D, 0x021, 0x0F5, 0x0A0, 0x0C6, 0x001, 0x067, | ||
571 | 0x001, 0x0B4, 0x045, 0x0CE, 0x0A5, 0x012, 0x039, 0x0D4, | ||
572 | 0x01C, 0x005, 0x0F4, 0x040, 0x0A1, 0x0C2, 0x0C3, 0x050, | ||
573 | 0x06A, 0x0AA, 0x0AA, 0x0AA, 0x0AA, 0x0AA, 0x0AA, 0x0AA, | ||
574 | 0x0AA, 0x0AA, 0x0AA, 0x0AA, 0x0AA, 0x0AA, 0x081, 0x0AF, | ||
575 | 0x086, 0x09F, 0x019, 0x01B, 0x0E7, 0x081, 0x0F3, 0x065, | ||
576 | 0x0F2, 0x080, 0x0BE, 0x070, 0x017, 0x0DF, 0x0DF, 0x038, | ||
577 | 0x00B, 0x0EB, 0x00D, 0x0C3, 0x080, 0x0BE, 0x0A7, 0x00F, | ||
578 | 0x095, 0x04F, 0x05A, 0x094, 0x0C0, 0x02C, 0x0D8, 0x0B1, | ||
579 | 0x0A7, 0x0CE, 0x05A, 0x011, 0x073, 0x0A8, 0x03A, 0x0C2, | ||
580 | 0x0CC, 0x0B6, 0x030, 0x017, 0x0DC, 0x06F, 0x035, 0x0A9, | ||
581 | 0x080, 0x04D, 0x0A7, 0x0CE, 0x02A, 0x018, 0x079, 0x0C5, | ||
582 | 0x049, 0x0DE, 0x061, 0x0A8, 0x022, 0x0E7, 0x050, 0x033, | ||
583 | 0x0F9, 0x098, 0x064, 0x008, 0x0B9, 0x095, 0x042, 0x0FC, | ||
584 | 0x0CC, 0x0D9, 0x095, 0x03D, 0x062, 0x0A2, 0x048, 0x0D4, | ||
585 | 0x048, 0x0E7, 0x002, 0x088, 0x0B9, 0x0C1, 0x0A0, 0x0E3, | ||
586 | 0x09D, 0x04E, 0x062, 0x0E6, 0x0CC, 0x0C6, 0x06B, 0x0CE, | ||
587 | 0x083, 0x010, 0x0C9, 0x082, 0x0E4, 0x0DA, 0x0C2, 0x0C8, | ||
588 | 0x01E, 0x0C3, 0x0B9, 0x036, 0x002, 0x0FA, 0x0A9, 0x0EB, | ||
589 | 0x04E, 0x030, 0x030, 0x0FA, 0x00D, 0x0F0, 0x0A9, 0x0EB, | ||
590 | 0x040, 0x0B9, 0x00F, 0x0AA, 0x07A, 0x0D2, 0x0C2, 0x0C8, | ||
591 | 0x0FA, 0x0A7, 0x0AD, 0x041, 0x00A, 0x047, 0x0D5, 0x03D, | ||
592 | 0x068, 0x0AC, 0x0F1, 0x0F5, 0x04F, 0x05A, 0x097, 0x054, | ||
593 | 0x07D, 0x04F, 0x0A8, 0x0AA, 0x055, 0x01F, 0x011, 0x073, | ||
594 | 0x05A, 0x0B0, 0x017, 0x0DE, 0x05D, 0x059, 0x0A9, 0x025, | ||
595 | 0x0D0, 0x055, 0x02A, 0x046, 0x0BC, 0x0B8, 0x022, 0x0AE, | ||
596 | 0x045, 0x029, 0x03E, 0x014, 0x0FA, 0x0E1, 0x099, 0x094, | ||
597 | 0x0CA, 0x04A, 0x0BE, 0x03D, 0x0D6, 0x099, 0x092, 0x05D, | ||
598 | 0x015, 0x017, 0x0C8, 0x0D7, 0x0DC, 0x015, 0x017, 0x08A, | ||
599 | 0x040, 0x01F, 0x00A, 0x09E, 0x0AC, 0x0C9, 0x065, 0x049, | ||
600 | 0x05C, 0x01D, 0x010, 0x068, 0x04A, 0x03E, 0x05B, 0x0DE, | ||
601 | 0x083, 0x016, 0x095, 0x080, 0x0BE, 0x091, 0x074, 0x058, | ||
602 | 0x0A4, 0x000, 0x07C, 0x038, 0x0E7, 0x056, 0x030, 0x017, | ||
603 | 0x0DF, 0x075, 0x0A6, 0x064, 0x097, 0x045, 0x020, 0x09D, | ||
604 | 0x003, 0x05F, 0x070, 0x054, 0x05E, 0x029, 0x01D, 0x0F0, | ||
605 | 0x0A9, 0x0EA, 0x0CC, 0x086, 0x054, 0x095, 0x0C1, 0x0D1, | ||
606 | 0x006, 0x083, 0x00F, 0x0AA, 0x07B, 0x0D0, 0x065, 0x049, | ||
607 | 0x045, 0x0BD, 0x0E9, 0x062, 0x0D2, 0x091, 0x0DF, 0x004, | ||
608 | 0x05D, 0x016, 0x029, 0x01C, 0x07D, 0x04F, 0x0AC, 0x01A, | ||
609 | 0x047, 0x01A, 0x0A9, 0x0F5, 0x067, 0x066, 0x053, 0x028, | ||
610 | 0x0B7, 0x0BD, 0x02C, 0x05A, 0x052, 0x03B, 0x0E3, 0x0DD, | ||
611 | 0x059, 0x0A9, 0x025, 0x0D1, 0x0A8, 0x0AC, 0x008, 0x06B, | ||
612 | 0x0EE, 0x008, 0x0AB, 0x0C5, 0x020, 0x02F, 0x085, 0x04F, | ||
613 | 0x056, 0x066, 0x075, 0x049, 0x05C, 0x01C, 0x018, 0x01D, | ||
614 | 0x081, 0x0C2, 0x064, 0x005, 0x0F0, 0x080, 0x0BE, 0x035, | ||
615 | 0x05C, 0x0D0, 0x017, 0x0C2, 0x055, 0x0F0, 0x095, 0x07C, | ||
616 | 0x025, 0x05F, 0x008, 0x00B, 0x0E1, 0x001, 0x07C, 0x07B, | ||
617 | 0x0AB, 0x035, 0x024, 0x0BA, 0x010, 0x055, 0x093, 0x01A, | ||
618 | 0x0FB, 0x082, 0x02A, 0x0F1, 0x048, 0x0D7, 0x0C2, 0x0A7, | ||
619 | 0x0AB, 0x031, 0x0B2, 0x0A4, 0x0AC, 0x063, 0x09D, 0x04A, | ||
620 | 0x08D, 0x07C, 0x07B, 0x0AB, 0x035, 0x024, 0x0BA, 0x010, | ||
621 | 0x054, 0x030, 0x08D, 0x07D, 0x0C1, 0x015, 0x078, 0x0AC, | ||
622 | 0x06F, 0x05A, 0x094, 0x060, 0x01A, 0x0E3, 0x079, 0x0D4, | ||
623 | 0x0AA, 0x04F, 0x085, 0x04F, 0x056, 0x066, 0x0D5, 0x049, | ||
624 | 0x058, 0x0C7, 0x03A, 0x095, 0x049, 0x0F0, 0x045, 0x0D1, | ||
625 | 0x062, 0x094, 0x086, 0x0BC, 0x01D, 0x013, 0x0D2, 0x090, | ||
626 | 0x0FF, 0x0CF, 0x07A, 0x083, 0x0F2, 0x050, 0x031, 0x0DE, | ||
627 | 0x000, 0x060, 0x060, 0x0A1, 0x017, 0x035, 0x0A8, 0x05F, | ||
628 | 0x09B, 0x01B, 0x037, 0x007, 0x044, 0x01A, 0x030, 0x00B, | ||
629 | 0x038, 0x00D, 0x0BC, 0x01C, 0x0E0, 0x0D0, 0x047, 0x0CE, | ||
630 | 0x0A0, 0x0AA, 0x07A, 0x0A1, 0x098, 0x06A, 0x092, 0x095, | ||
631 | 0x03D, 0x068, 0x031, 0x080, 0x05B, 0x080, 0x0DA, 0x0A9, | ||
632 | 0x0EF, 0x041, 0x095, 0x025, 0x016, 0x0F7, 0x0A5, 0x08B, | ||
633 | 0x04A, 0x0C6, 0x079, 0x0B3, 0x033, 0x060, 0x02F, 0x0AA, | ||
634 | 0x09E, 0x0B1, 0x051, 0x080, 0x059, 0x09E, 0x0CA, 0x0A7, | ||
635 | 0x0AC, 0x00A, 0x030, 0x00B, 0x067, 0x0B2, 0x0AD, 0x0D5, | ||
636 | 0x0DA, 0x092, 0x05D, 0x017, 0x0A3, 0x000, 0x0B3, 0x02D, | ||
637 | 0x095, 0x06E, 0x008, 0x0A9, 0x058, 0x0A1, 0x017, 0x03A, | ||
638 | 0x08B, 0x001, 0x07D, 0x054, 0x0F7, 0x08E, 0x095, 0x025, | ||
639 | 0x008, 0x01C, 0x0E0, 0x056, 0x002, 0x0FB, 0x0C1, 0x0D1, | ||
640 | 0x015, 0x018, 0x005, 0x092, 0x06B, 0x03C, 0x01D, 0x012, | ||
641 | 0x028, 0x0C0, 0x02C, 0x0A5, 0x06C, 0x011, 0x070, 0x017, | ||
642 | 0x0B2, 0x038, 0x04D, 0x080, 0x0BE, 0x0E0, 0x02F, 0x0B4, | ||
643 | 0x0EC, 0x04A, 0x0ED, 0x0B3, 0x09E, 0x002, 0x0FB, 0x080, | ||
644 | 0x0BE, 0x0E0, 0x02F, 0x0B1, 0x039, 0x093, 0x03E, 0x06D, | ||
645 | 0x0E7, 0x010, 0x060, 0x09F, 0x032, 0x0A9, 0x0A2, 0x06C, | ||
646 | 0x005, 0x0F4, 0x040, 0x0E6, 0x00A, 0x095, 0x03D, 0x06A, | ||
647 | 0x023, 0x000, 0x0B3, 0x080, 0x0DA, 0x0A7, 0x0D6, 0x02A, | ||
648 | 0x003, 0x00D, 0x070, 0x017, 0x0D2, 0x02E, 0x076, 0x029, | ||
649 | 0x04F, 0x0BC, 0x054, 0x0A6, 0x051, 0x06F, 0x07A, 0x058, | ||
650 | 0x0B4, 0x0AC, 0x005, 0x0F4, 0x08B, 0x0A2, 0x0F4, 0x00E, | ||
651 | 0x035, 0x00D, 0x049, 0x02E, 0x0B4, 0x0CC, 0x018, 0x0A5, | ||
652 | 0x0C8, 0x0F8, 0x04A, 0x097, 0x023, 0x0E1, 0x005, 0x02E, | ||
653 | 0x047, 0x0C2, 0x08A, 0x05C, 0x08F, 0x085, 0x069, 0x072, | ||
654 | 0x03E, 0x01F, 0x04A, 0x0C3, 0x055, 0x01F, 0x056, 0x043, | ||
655 | 0x032, 0x08C, 0x0A3, 0x05E, 0x060, 0x0A8, 0x045, 0x0CE, | ||
656 | 0x00D, 0x060, 0x02F, 0x0A3, 0x084, 0x09D, 0x0D8, 0x0F0, | ||
657 | 0x017, 0x0D2, 0x02E, 0x00E, 0x01B, 0x023, 0x084, 0x0D8, | ||
658 | 0x00B, 0x0EB, 0x089, 0x0F3, 0x080, 0x0BE, 0x0E0, 0x02F, | ||
659 | 0x0BB, 0x039, 0x085, 0x0DF, 0x022, 0x003, 0x0E7, 0x001, | ||
660 | 0x07D, 0x0C0, 0x05F, 0x070, 0x017, 0x0D1, 0x017, 0x038, | ||
661 | 0x014, 0x05B, 0x0D6, 0x0A2, 0x074, 0x00D, 0x04B, 0x07A, | ||
662 | 0x0B3, 0x031, 0x096, 0x094, 0x06B, 0x0CC, 0x035, 0x023, | ||
663 | 0x0D7, 0x049, 0x048, 0x015, 0x073, 0x029, 0x00F, 0x05D, | ||
664 | 0x08A, 0x0C0, 0x05F, 0x04D, 0x079, 0x084, 0x035, 0x080, | ||
665 | 0x0BE, 0x088, 0x01C, 0x0C3, 0x052, 0x09F, 0x059, 0x068, | ||
666 | 0x0C0, 0x02C, 0x0E0, 0x036, 0x0AA, 0x07B, 0x0CD, 0x04A, | ||
667 | 0x092, 0x0BE, 0x0F3, 0x081, 0x04A, 0x07D, 0x05B, 0x059, | ||
668 | 0x094, 0x0CA, 0x01C, 0x024, 0x0EE, 0x0C7, 0x080, 0x0BE, | ||
669 | 0x088, 0x01C, 0x0C3, 0x052, 0x09F, 0x059, 0x068, 0x0C0, | ||
670 | 0x02C, 0x0E0, 0x036, 0x0AA, 0x07B, 0x0CD, 0x04A, 0x092, | ||
671 | 0x0BE, 0x0F3, 0x081, 0x043, 0x084, 0x09C, 0x07B, 0x038, | ||
672 | 0x00B, 0x0EB, 0x0AF, 0x070, 0x0D4, 0x0EA, 0x053, 0x000, | ||
673 | 0x09B, 0x04F, 0x09C, 0x054, 0x030, 0x0F3, 0x08A, 0x094, | ||
674 | 0x0FA, 0x0B6, 0x0B3, 0x029, 0x094, 0x022, 0x0E6, 0x01A, | ||
675 | 0x085, 0x0F9, 0x0B0, 0x059, 0x093, 0x0F9, 0x0D2, 0x0C4, | ||
676 | 0x032, 0x060, 0x0B9, 0x036, 0x0B0, 0x0B3, 0x090, 0x0D9, | ||
677 | 0x077, 0x026, 0x01C, 0x027, 0x022, 0x0E8, 0x096, 0x0B4, | ||
678 | 0x023, 0x0EA, 0x09E, 0x0B5, 0x011, 0x080, 0x059, 0x065, | ||
679 | 0x086, 0x020, 0x073, 0x096, 0x08D, 0x079, 0x0AD, 0x058, | ||
680 | 0x00B, 0x0E9, 0x017, 0x044, 0x08A, 0x04A, 0x007, 0x0D7, | ||
681 | 0x07A, 0x082, 0x0A1, 0x090, 0x0FA, 0x0EF, 0x001, 0x054, | ||
682 | 0x0BA, 0x050, 0x0D4, 0x059, 0x01E, 0x02C, 0x0E9, 0x0F3, | ||
683 | 0x08A, 0x099, 0x085, 0x06B, 0x00B, 0x023, 0x015, 0x097, | ||
684 | 0x072, 0x061, 0x017, 0x030, 0x0D4, 0x02C, 0x073, 0x087, | ||
685 | 0x048, 0x0AA, 0x002, 0x081, 0x025, 0x0DE, 0x091, 0x00D, | ||
686 | 0x04A, 0x0C0, 0x05F, 0x07E, 0x0D2, 0x080, 0x0A5, 0x03E, | ||
687 | 0x0B2, 0x0D0, 0x0C8, 0x06B, 0x080, 0x0BE, 0x088, 0x01C, | ||
688 | 0x0EA, 0x009, 0x017, 0x044, 0x01A, 0x037, 0x01A, 0x091, | ||
689 | 0x074, 0x058, 0x0A3, 0x071, 0x0AF, 0x007, 0x044, 0x054, | ||
690 | 0x06E, 0x035, 0x0E0, 0x0E8, 0x0AA, 0x064, 0x00F, 0x090, | ||
691 | 0x0FA, 0x0D0, 0x063, 0x000, 0x0B3, 0x080, 0x0DA, 0x02C, | ||
692 | 0x073, 0x087, 0x048, 0x0AA, 0x002, 0x081, 0x025, 0x0DE, | ||
693 | 0x091, 0x00D, 0x04A, 0x0C0, 0x05F, 0x048, 0x0BA, 0x027, | ||
694 | 0x0A3, 0x000, 0x0B7, 0x001, 0x0B7, 0x04F, 0x09C, 0x0B4, | ||
695 | 0x06B, 0x0CC, 0x035, 0x016, 0x0F5, 0x066, 0x063, 0x02D, | ||
696 | 0x029, 0x01E, 0x0BA, 0x04A, 0x040, 0x0AB, 0x099, 0x048, | ||
697 | 0x07A, 0x0EC, 0x050, 0x08B, 0x09C, 0x008, 0x022, 0x0FC, | ||
698 | 0x0F9, 0x0B2, 0x055, 0x03D, 0x062, 0x0A9, 0x023, 0x051, | ||
699 | 0x023, 0x09C, 0x00A, 0x03C, 0x073, 0x00D, 0x044, 0x05C, | ||
700 | 0x0E1, 0x050, 0x071, 0x0CE, 0x0A1, 0x01F, 0x0E7, 0x015, | ||
701 | 0x06B, 0x00B, 0x025, 0x0ED, 0x00B, 0x093, 0x060, 0x02F, | ||
702 | 0x0AA, 0x09E, 0x0AC, 0x036, 0x065, 0x049, 0x05F, 0x07A, | ||
703 | 0x020, 0x050, 0x008, 0x07F, 0x0EF, 0x039, 0x014, 0x049, | ||
704 | 0x001, 0x011, 0x081, 0x004, 0x060, 0x040, 0x0CC, 0x059, | ||
705 | 0x0C0, 0x0AD, 0x023, 0x0EB, 0x041, 0x0B0, 0x081, 0x0F2, | ||
706 | 0x03A, 0x041, 0x0AA, 0x050, 0x043, 0x0E4, 0x0D4, 0x086, | ||
707 | 0x054, 0x0A0, 0x087, 0x0C1, 0x052, 0x0CA, 0x093, 0x001, | ||
708 | 0x032, 0x054, 0x09D, 0x024, 0x002, 0x000, 0x000, 0x052, | ||
709 | 0x0AF, 0x016, 0x046, 0x0A7, 0x091, 0x067, 0x008, 0x0B4, | ||
710 | 0x004, 0x051, 0x0F1, 0x065, 0x019, 0x0B4, 0x06E, 0x02D, | ||
711 | 0x0C0, 0x0AD, 0x049, 0x000, 0x092, 0x057, 0x01B, 0x074, | ||
712 | 0x045, 0x05F, 0x023, 0x051, 0x0B7, 0x044, 0x00A, 0x010, | ||
713 | 0x006, 0x0A3, 0x06E, 0x08B, 0x06B, 0x008, 0x01F, 0x019, | ||
714 | 0x0D1, 0x0E6, 0x080, 0x082, 0x080, 0x054, 0x004, 0x02A, | ||
715 | 0x045, 0x091, 0x0A9, 0x0E4, 0x059, 0x0C2, 0x02D, 0x001, | ||
716 | 0x014, 0x004, 0x050, 0x0D3, 0x0FC, 0x055, 0x084, 0x061, | ||
717 | 0x0D9, 0x080, 0x051, 0x02F, 0x0E2, 0x01F, 0x046, 0x05F, | ||
718 | 0x040, 0x0E0, 0x020, 0x015, 0x04A, 0x0BC, 0x059, 0x01A, | ||
719 | 0x09E, 0x045, 0x09C, 0x022, 0x0D0, 0x011, 0x048, 0x0CB, | ||
720 | 0x0E8, 0x014, 0x008, 0x001, 0x054, 0x015, 0x0E2, 0x0C8, | ||
721 | 0x0D4, 0x0F2, 0x02C, 0x0E1, 0x016, 0x080, 0x08A, 0x046, | ||
722 | 0x05F, 0x052, 0x07C, 0x0D9, 0x0A8, 0x0F8, 0x088, 0x0D0, | ||
723 | 0x05A, 0x03C, 0x0D2, 0x05C, 0x05B, 0x080, 0x0DA, 0x0A7, | ||
724 | 0x0D6, 0x05A, 0x008, 0x086, 0x0A4, 0x05D, 0x017, 0x0A0, | ||
725 | 0x0C3, 0x052, 0x02E, 0x088, 0x0A8, 0x022, 0x01F, 0x053, | ||
726 | 0x0EA, 0x0DA, 0x0CC, 0x0A6, 0x050, 0x0E1, 0x027, 0x076, | ||
727 | 0x03C, 0x005, 0x0F5, 0x04F, 0x0AB, 0x06B, 0x032, 0x099, | ||
728 | 0x043, 0x084, 0x09C, 0x07B, 0x038, 0x00B, 0x0E9, 0x027, | ||
729 | 0x0AC, 0x0D4, 0x092, 0x0E0, 0x00E, 0x0DA, 0x038, 0x04D, | ||
730 | 0x080, 0x0BE, 0x0E6, 0x07D, 0x050, 0x0BA, 0x051, 0x0AE, | ||
731 | 0x066, 0x0EF, 0x0BC, 0x0DC, 0x07B, 0x087, 0x01E, 0x002, | ||
732 | 0x0FA, 0x093, 0x0E6, 0x0CD, 0x047, 0x0C4, 0x043, 0x0CD, | ||
733 | 0x00F, 0x034, 0x09D, 0x0A3, 0x000, 0x0B0, 0x055, 0x001, | ||
734 | 0x0AE, 0x003, 0x084, 0x004, 0x0CE, 0x001, 0x0D0, 0x0E1, | ||
735 | 0x070, 0x002, 0x080, 0x00E, 0x089, 0x0E9, 0x022, 0x01F, | ||
736 | 0x0E0, 0x0E8, 0x096, 0x0B0, 0x011, 0x0F4, 0x0C2, 0x0CE, | ||
737 | 0x003, 0x06A, 0x044, 0x02D, 0x0C0, 0x06D, 0x048, 0x005, | ||
738 | 0x0B8, 0x00D, 0x0A3, 0x000, 0x0B7, 0x076, 0x0D5, 0x0DE, | ||
739 | 0x0B1, 0x050, 0x0DC, 0x07D, 0x077, 0x0BC, 0x054, 0x0BA, | ||
740 | 0x052, 0x07F, 0x058, 0x014, 0x034, 0x00F, 0x09A, 0x0F3, | ||
741 | 0x081, 0x058, 0x00B, 0x0EA, 0x0EF, 0x058, 0x014, 0x060, | ||
742 | 0x016, 0x0A5, 0x06C, 0x02E, 0x0F7, 0x081, 0x04B, 0x0A5, | ||
743 | 0x06F, 0x07D, 0x05D, 0x0EE, 0x0B5, 0x02E, 0x095, 0x080, | ||
744 | 0x0BE, 0x0F0, 0x073, 0x0BD, 0x004, 0x07C, 0x0EA, 0x0FE, | ||
745 | 0x0EB, 0x04C, 0x0DE, 0x029, 0x053, 0x0DD, 0x06A, 0x054, | ||
746 | 0x094, 0x0A9, 0x0EA, 0x00A, 0x08C, 0x002, 0x0D6, 0x04C, | ||
747 | 0x03C, 0x005, 0x0F4, 0x000, 0x0EA, 0x0CD, 0x056, 0x0AF, | ||
748 | 0x0C0, 0x047, 0x0D2, 0x09C, 0x08D, 0x029, 0x0CA, 0x0E0, | ||
749 | 0x02F, 0x0AE, 0x0BD, 0x075, 0x099, 0x09D, 0x04A, 0x0F9, | ||
750 | 0x0EF, 0x051, 0x07C, 0x094, 0x00C, 0x077, 0x080, 0x018, | ||
751 | 0x018, 0x029, 0x02A, 0x0F8, 0x0E0, 0x0E8, 0x0AA, 0x030, | ||
752 | 0x00B, 0x02A, 0x098, 0x07C, 0x01D, 0x011, 0x051, 0x080, | ||
753 | 0x059, 0x054, 0x0C3, 0x051, 0x0F5, 0x01B, 0x033, 0x024, | ||
754 | 0x0BB, 0x082, 0x0A5, 0x019, 0x05C, 0x01D, 0x010, 0x028, | ||
755 | 0x0C0, 0x02C, 0x09A, 0x0C7, 0x0C1, 0x0D1, 0x022, 0x08C, | ||
756 | 0x002, 0x0C9, 0x094, 0x064, 0x05C, 0x00C, 0x0D6, 0x08E, | ||
757 | 0x013, 0x060, 0x02F, 0x0B8, 0x00B, 0x0EA, 0x030, 0x0E3, | ||
758 | 0x0C0, 0x05F, 0x048, 0x0DC, 0x078, 0x00B, 0x0E8, 0x000, | ||
759 | 0x0E3, 0x0C0, 0x05F, 0x06C, 0x038, 0x0D5, 0x02E, 0x035, | ||
760 | 0x04F, 0x05A, 0x08A, 0x061, 0x0AA, 0x09F, 0x056, 0x01B, | ||
761 | 0x032, 0x099, 0x046, 0x042, 0x0C8, 0x001, 0x00C, 0x045, | ||
762 | 0x0CE, 0x0A5, 0x017, 0x0E6, 0x0C6, 0x0CE, 0x0A9, 0x0EB, | ||
763 | 0x015, 0x016, 0x046, 0x0A2, 0x047, 0x038, 0x014, 0x043, | ||
764 | 0x026, 0x022, 0x0E7, 0x03D, 0x060, 0x02F, 0x0AA, 0x09E, | ||
765 | 0x0B5, 0x012, 0x0E0, 0x07F, 0x001, 0x07D, 0x0E3, 0x0E7, | ||
766 | 0x002, 0x093, 0x0F9, 0x095, 0x044, 0x05C, 0x0E5, 0x0A0, | ||
767 | 0x0E3, 0x09D, 0x04A, 0x07F, 0x09C, 0x054, 0x0A9, 0x0EB, | ||
768 | 0x051, 0x005, 0x046, 0x0B9, 0x0FC, 0x0C0, 0x01B, 0x022, | ||
769 | 0x02E, 0x064, 0x054, 0x02F, 0x0CD, 0x046, 0x0CC, 0x0A7, | ||
770 | 0x0D5, 0x086, 0x0CC, 0x0A6, 0x050, 0x055, 0x0C6, 0x045, | ||
771 | 0x0CE, 0x05A, 0x00E, 0x039, 0x0D4, 0x0A7, 0x0F9, 0x0C5, | ||
772 | 0x04A, 0x09E, 0x0B5, 0x011, 0x080, 0x059, 0x0C0, 0x06D, | ||
773 | 0x0CF, 0x0E6, 0x000, 0x0D9, 0x011, 0x073, 0x022, 0x0A1, | ||
774 | 0x07E, 0x06A, 0x036, 0x065, 0x03E, 0x0AC, 0x036, 0x065, | ||
775 | 0x032, 0x0B0, 0x017, 0x0DD, 0x03E, 0x072, 0x0D2, 0x079, | ||
776 | 0x031, 0x00C, 0x098, 0x02E, 0x04C, 0x020, 0x073, 0x02A, | ||
777 | 0x08F, 0x0F3, 0x08A, 0x0AD, 0x0E7, 0x041, 0x082, 0x07C, | ||
778 | 0x0CA, 0x0A6, 0x089, 0x0B5, 0x085, 0x09F, 0x0B0, 0x0F0, | ||
779 | 0x017, 0x0D5, 0x01F, 0x054, 0x054, 0x025, 0x01A, 0x0A8, | ||
780 | 0x0FF, 0x02A, 0x094, 0x065, 0x011, 0x0D7, 0x049, 0x044, | ||
781 | 0x0D5, 0x0CC, 0x0A0, 0x055, 0x0D8, 0x0AE, 0x00E, 0x088, | ||
782 | 0x014, 0x060, 0x016, 0x04D, 0x063, 0x022, 0x0E0, 0x072, | ||
783 | 0x086, 0x038, 0x04D, 0x080, 0x0BE, 0x0E0, 0x02F, 0x0B8, | ||
784 | 0x00B, 0x0EE, 0x002, 0x0FB, 0x081, 0x038, 0x0F0, 0x017, | ||
785 | 0x0D7, 0x0D7, 0x01E, 0x002, 0x0FA, 0x0FA, 0x0E3, 0x0C0, | ||
786 | 0x05F, 0x04C, 0x085, 0x090, 0x002, 0x018, 0x0C8, 0x05B, | ||
787 | 0x080, 0x0DA, 0x030, 0x00B, 0x070, 0x01B, 0x04C, 0x022, | ||
788 | 0x0D3, 0x04C, 0x033, 0x003, 0x08C, 0x02E, 0x04C, 0x043, | ||
789 | 0x026, 0x0D0, 0x0F5, 0x063, 0x066, 0x0D0, 0x095, 0x0A7, | ||
790 | 0x0CE, 0x045, 0x033, 0x00A, 0x0D6, 0x016, 0x042, 0x038, | ||
791 | 0x06E, 0x0E4, 0x0CE, 0x0BD, 0x059, 0x02C, 0x0D2, 0x0AB, | ||
792 | 0x0BA, 0x094, 0x09D, 0x0E6, 0x01A, 0x0B0, 0x017, 0x0D5, | ||
793 | 0x04F, 0x05A, 0x08B, 0x009, 0x01A, 0x088, 0x0B9, 0x0C5, | ||
794 | 0x042, 0x047, 0x030, 0x0D4, 0x032, 0x016, 0x072, 0x088, | ||
795 | 0x065, 0x0BD, 0x059, 0x099, 0x025, 0x0A5, 0x060, 0x02F, | ||
796 | 0x0B8, 0x060, 0x0F3, 0x008, 0x0B7, 0x04A, 0x01A, 0x08F, | ||
797 | 0x0AB, 0x00D, 0x099, 0x046, 0x051, 0x0AF, 0x038, 0x0A8, | ||
798 | 0x08E, 0x090, 0x065, 0x013, 0x052, 0x018, 0x0A0, 0x054, | ||
799 | 0x0B1, 0x042, 0x02E, 0x061, 0x0A8, 0x048, 0x0E7, 0x02D, | ||
800 | 0x016, 0x0F7, 0x0A8, 0x005, 0x0A5, 0x060, 0x02F, 0x0A4, | ||
801 | 0x075, 0x0D2, 0x051, 0x035, 0x073, 0x028, 0x015, 0x076, | ||
802 | 0x02B, 0x083, 0x0A2, 0x005, 0x018, 0x005, 0x093, 0x058, | ||
803 | 0x0C8, 0x0B8, 0x006, 0x028, 0x063, 0x084, 0x0D8, 0x00B, | ||
804 | 0x0EE, 0x002, 0x0FB, 0x080, 0x0BE, 0x0E0, 0x02F, 0x0A0, | ||
805 | 0x043, 0x0A7, 0x001, 0x07D, 0x04C, 0x0E3, 0x0C0, 0x05F, | ||
806 | 0x070, 0x017, 0x0DC, 0x005, 0x0F4, 0x064, 0x02D, 0x0C0, | ||
807 | 0x06D, 0x018, 0x005, 0x0B8, 0x00D, 0x0A5, 0x0BD, 0x06A, | ||
808 | 0x023, 0x086, 0x0AA, 0x09E, 0x0B5, 0x011, 0x0A4, 0x06A, | ||
809 | 0x0A3, 0x0EA, 0x08A, 0x08D, 0x023, 0x0E1, 0x017, 0x038, | ||
810 | 0x034, 0x069, 0x071, 0x098, 0x045, 0x0A6, 0x098, 0x06A, | ||
811 | 0x03E, 0x0AC, 0x036, 0x065, 0x019, 0x046, 0x0BC, 0x0E2, | ||
812 | 0x0A2, 0x03A, 0x041, 0x094, 0x04D, 0x048, 0x062, 0x081, | ||
813 | 0x052, 0x0C5, 0x016, 0x0F7, 0x0A8, 0x08B, 0x04A, 0x054, | ||
814 | 0x0F5, 0x0A8, 0x08C, 0x002, 0x0DC, 0x006, 0x0D1, 0x003, | ||
815 | 0x09C, 0x0B4, 0x0A9, 0x0EE, 0x00A, 0x095, 0x025, 0x02A, | ||
816 | 0x07A, 0x0AD, 0x046, 0x001, 0x067, 0x001, 0x0B5, 0x0D7, | ||
817 | 0x0AC, 0x00A, 0x030, 0x00B, 0x06C, 0x049, 0x035, 0x0E6, | ||
818 | 0x0B5, 0x067, 0x0F3, 0x000, 0x06C, 0x088, 0x0B9, 0x091, | ||
819 | 0x050, 0x0BF, 0x031, 0x01B, 0x032, 0x0A7, 0x0B8, 0x068, | ||
820 | 0x095, 0x025, 0x07B, 0x0AD, 0x033, 0x078, 0x0A7, 0x0CD, | ||
821 | 0x03E, 0x0D3, 0x08E, 0x09D, 0x034, 0x0E7, 0x04E, 0x0D4, | ||
822 | 0x022, 0x0E7, 0x006, 0x084, 0x08E, 0x060, 0x0A8, 0x0FF, | ||
823 | 0x038, 0x0AB, 0x083, 0x09C, 0x02A, 0x008, 0x0F9, 0x0D4, | ||
824 | 0x020, 0x063, 0x0BC, 0x01A, 0x006, 0x00A, 0x0C0, 0x05F, | ||
825 | 0x046, 0x042, 0x0DC, 0x006, 0x0D1, 0x080, 0x05B, 0x080, | ||
826 | 0x0DA, 0x022, 0x0E6, 0x01A, 0x084, 0x08E, 0x072, 0x0D1, | ||
827 | 0x06F, 0x05A, 0x080, 0x087, 0x01A, 0x0AA, 0x07A, 0x0D4, | ||
828 | 0x048, 0x0C8, 0x0D5, 0x047, 0x0D5, 0x015, 0x023, 0x023, | ||
829 | 0x0E1, 0x017, 0x038, 0x034, 0x08C, 0x0BA, 0x04B, 0x07B, | ||
830 | 0x0D4, 0x002, 0x0D2, 0x08C, 0x022, 0x0DC, 0x006, 0x0D5, | ||
831 | 0x01F, 0x056, 0x01B, 0x032, 0x08C, 0x0A3, 0x05E, 0x071, | ||
832 | 0x051, 0x01D, 0x020, 0x0CA, 0x026, 0x0A4, 0x031, 0x040, | ||
833 | 0x0A9, 0x062, 0x0B0, 0x017, 0x0DF, 0x09E, 0x0F4, 0x0B7, | ||
834 | 0x0C9, 0x040, 0x0C7, 0x078, 0x001, 0x081, 0x082, 0x0B8, | ||
835 | 0x038, 0x039, 0x049, 0x01C, 0x026, 0x0C0, 0x05F, 0x070, | ||
836 | 0x017, 0x0D4, 0x0AB, 0x0E1, 0x02A, 0x0F8, 0x04A, 0x0BE, | ||
837 | 0x012, 0x0AF, 0x08F, 0x097, 0x04F, 0x0CB, 0x0A7, 0x001, | ||
838 | 0x07D, 0x0DA, 0x080, 0x0AA, 0x091, 0x064, 0x07F, 0x04A, | ||
839 | 0x081, 0x0D5, 0x022, 0x0C8, 0x0FE, 0x082, 0x080, 0x025, | ||
840 | 0x048, 0x0B2, 0x03E, 0x0BB, 0x0DC, 0x035, 0x02E, 0x094, | ||
841 | 0x007, 0x0E8, 0x08A, 0x09C, 0x003, 0x0E2, 0x04B, 0x0A5, | ||
842 | 0x077, 0x0AB, 0x0B3, 0x032, 0x0E9, 0x04B, 0x0BD, 0x059, | ||
843 | 0x086, 0x084, 0x097, 0x07A, 0x004, 0x0BA, 0x053, 0x0E1, | ||
844 | 0x032, 0x0EF, 0x050, 0x0D4, 0x0E6, 0x035, 0x053, 0x0EB, | ||
845 | 0x002, 0x09C, 0x0C7, 0x0D7, 0x07A, 0x0B3, 0x030, 0x0D2, | ||
846 | 0x05D, 0x0EA, 0x002, 0x0E9, 0x044, 0x05D, 0x016, 0x028, | ||
847 | 0x0C0, 0x02C, 0x0E0, 0x036, 0x091, 0x074, 0x045, 0x059, | ||
848 | 0x018, 0x0D5, 0x04F, 0x0AC, 0x00A, 0x0C4, 0x035, 0x030, | ||
849 | 0x08B, 0x038, 0x069, 0x02B, 0x0BD, 0x059, 0x098, 0x069, | ||
850 | 0x02E, 0x0F5, 0x012, 0x0E9, 0x058, 0x067, 0x04A, 0x0EF, | ||
851 | 0x050, 0x0D5, 0x08E, 0x03E, 0x01C, 0x0A4, 0x0B0, 0x0CE, | ||
852 | 0x093, 0x021, 0x06E, 0x01A, 0x048, 0x01F, 0x0A2, 0x02A, | ||
853 | 0x0C3, 0x00D, 0x057, 0x07A, 0x0B3, 0x00D, 0x009, 0x02E, | ||
854 | 0x0F4, 0x043, 0x05D, 0x028, 0x08B, 0x083, 0x020, 0x092, | ||
855 | 0x038, 0x04D, 0x080, 0x0BE, 0x0E0, 0x02F, 0x0AC, 0x017, | ||
856 | 0x049, 0x0B3, 0x0A5, 0x082, 0x0E9, 0x03E, 0x0E9, 0x036, | ||
857 | 0x074, 0x0E0, 0x02F, 0x0A6, 0x0CE, 0x09C, 0x005, 0x0F4, | ||
858 | 0x0C2, 0x02C, 0x08C, 0x052, 0x057, 0x07A, 0x0D4, 0x08D, | ||
859 | 0x048, 0x0FA, 0x0EF, 0x050, 0x0D5, 0x0AE, 0x035, 0x053, | ||
860 | 0x0EB, 0x002, 0x086, 0x021, 0x0AA, 0x0EF, 0x056, 0x066, | ||
861 | 0x01A, 0x04B, 0x0BD, 0x044, 0x0BA, 0x050, 0x0C4, 0x0E9, | ||
862 | 0x053, 0x0EB, 0x002, 0x086, 0x081, 0x0F5, 0x0DE, 0x0A1, | ||
863 | 0x0A8, 0x062, 0x01F, 0x05D, 0x0FE, 0x0A2, 0x05D, 0x029, | ||
864 | 0x077, 0x0A8, 0x06A, 0x061, 0x08D, 0x040, 0x0FD, 0x011, | ||
865 | 0x053, 0x00C, 0x06A, 0x0A7, 0x0D6, 0x005, 0x030, 0x0C7, | ||
866 | 0x0D7, 0x07F, 0x0A9, 0x057, 0x04A, 0x05D, 0x0EB, 0x048, | ||
867 | 0x01B, 0x00C, 0x07C, 0x08B, 0x09D, 0x08A, 0x053, 0x0EF, | ||
868 | 0x066, 0x094, 0x0CA, 0x054, 0x0F5, 0x0A0, 0x0C6, 0x001, | ||
869 | 0x06E, 0x003, 0x06A, 0x09F, 0x056, 0x076, 0x065, 0x032, | ||
870 | 0x08B, 0x07B, 0x0D2, 0x0C5, 0x0A5, 0x060, 0x02F, 0x0AA, | ||
871 | 0x07D, 0x065, 0x0A3, 0x000, 0x0B7, 0x001, 0x0B4, 0x0C8, | ||
872 | 0x05A, 0x007, 0x08F, 0x0ED, 0x001, 0x0D5, 0x027, 0x091, | ||
873 | 0x067, 0x001, 0x0B4, 0x08B, 0x09C, 0x054, 0x01C, 0x073, | ||
874 | 0x0A8, 0x084, 0x05C, 0x0C1, 0x050, 0x0BF, 0x036, 0x056, | ||
875 | 0x060, 0x0AB, 0x08C, 0x08B, 0x09C, 0x054, 0x01C, 0x073, | ||
876 | 0x0A8, 0x084, 0x05C, 0x0C1, 0x050, 0x0BF, 0x036, 0x056, | ||
877 | 0x06C, 0x005, 0x0F5, 0x053, 0x0D6, 0x0A2, 0x030, 0x00B, | ||
878 | 0x029, 0x05B, 0x019, 0x0FC, 0x0F6, 0x094, 0x045, 0x0CF, | ||
879 | 0x015, 0x00B, 0x0F3, 0x03C, 0x0B3, 0x02A, 0x07A, 0x0C5, | ||
880 | 0x046, 0x001, 0x064, 0x08A, 0x031, 0x023, 0x09C, 0x00A, | ||
881 | 0x05D, 0x0EA, 0x034, 0x033, 0x02E, 0x095, 0x0C7, 0x0CE, | ||
882 | 0x02A, 0x04F, 0x0E6, 0x050, 0x020, 0x0B9, 0x031, 0x00C, | ||
883 | 0x09B, 0x0EF, 0x039, 0x014, 0x045, 0x0CE, 0x045, 0x007, | ||
884 | 0x01C, 0x0EA, 0x046, 0x087, 0x0AB, 0x01B, 0x036, 0x084, | ||
885 | 0x0A7, 0x05E, 0x0AC, 0x096, 0x067, 0x052, 0x0B0, 0x017, | ||
886 | 0x0DC, 0x0FE, 0x07B, 0x04A, 0x022, 0x0E7, 0x08A, 0x085, | ||
887 | 0x0F9, 0x09E, 0x059, 0x097, 0x07A, 0x08D, 0x00C, 0x0CB, | ||
888 | 0x0A5, 0x027, 0x0F3, 0x0A0, 0x044, 0x032, 0x060, 0x0B9, | ||
889 | 0x037, 0x0DE, 0x072, 0x028, 0x08B, 0x09C, 0x08A, 0x00E, | ||
890 | 0x039, 0x0D4, 0x08C, 0x005, 0x0F7, 0x0E7, 0x0B8, 0x02A, | ||
891 | 0x0F9, 0x028, 0x018, 0x0EF, 0x000, 0x030, 0x030, 0x057, | ||
892 | 0x007, 0x044, 0x00A, 0x050, 0x08F, 0x0F0, 0x073, 0x091, | ||
893 | 0x041, 0x01F, 0x03A, 0x090, 0x045, 0x0C0, 0x0BB, 0x018, | ||
894 | 0x0E1, 0x036, 0x002, 0x0FB, 0x0FB, 0x09E, 0x002, 0x0FA, | ||
895 | 0x0EE, 0x0E7, 0x0F5, 0x0CF, 0x001, 0x07D, 0x010, 0x05C, | ||
896 | 0x0F0, 0x017, 0x0D1, 0x005, 0x0CF, 0x001, 0x07D, 0x053, | ||
897 | 0x0EB, 0x02D, 0x018, 0x005, 0x0B8, 0x00D, 0x0A6, 0x042, | ||
898 | 0x0DC, 0x006, 0x0D3, 0x017, 0x035, 0x0A8, 0x08B, 0x09C, | ||
899 | 0x00A, 0x00E, 0x039, 0x0D4, 0x00C, 0x0FE, 0x07B, 0x04A, | ||
900 | 0x022, 0x0E6, 0x055, 0x00B, 0x0F3, 0x031, 0x0B3, 0x060, | ||
901 | 0x02F, 0x0BC, 0x07C, 0x0E2, 0x0A4, 0x0FE, 0x065, 0x051, | ||
902 | 0x017, 0x038, 0x014, 0x01C, 0x073, 0x0A8, 0x019, 0x0FC, | ||
903 | 0x0F6, 0x094, 0x045, 0x0CC, 0x0AA, 0x017, 0x0E6, 0x063, | ||
904 | 0x066, 0x00A, 0x0B8, 0x0CC, 0x085, 0x0A1, 0x058, 0x0F6, | ||
905 | 0x0A2, 0x035, 0x048, 0x048, 0x07F, 0x04A, 0x089, 0x095, | ||
906 | 0x021, 0x021, 0x0FD, 0x005, 0x002, 0x054, 0x09E, 0x045, | ||
907 | 0x091, 0x00E, 0x03C, 0x005, 0x0F5, 0x007, 0x040, 0x055, | ||
908 | 0x048, 0x052, 0x03E, 0x086, 0x0A0, 0x075, 0x048, 0x052, | ||
909 | 0x03E, 0x0B5, 0x000, 0x04A, 0x09C, 0x000, 0x06B, 0x0C7, | ||
910 | 0x0CE, 0x045, 0x027, 0x0F3, 0x02A, 0x084, 0x037, 0x035, | ||
911 | 0x0DE, 0x0A0, 0x0AB, 0x023, 0x01A, 0x0AE, 0x0F5, 0x083, | ||
912 | 0x059, 0x018, 0x0D7, 0x043, 0x0DE, 0x02A, 0x0D0, 0x094, | ||
913 | 0x0EB, 0x0DE, 0x005, 0x03A, 0x095, 0x09F, 0x0CC, 0x0C3, | ||
914 | 0x020, 0x045, 0x0CC, 0x0AA, 0x017, 0x0E6, 0x066, 0x0CC, | ||
915 | 0x043, 0x026, 0x04F, 0x0E7, 0x041, 0x022, 0x02E, 0x070, | ||
916 | 0x068, 0x038, 0x0E7, 0x053, 0x0E0, 0x02F, 0x0AB, 0x0BC, | ||
917 | 0x012, 0x0D2, 0x0E9, 0x058, 0x00B, 0x0EA, 0x0A7, 0x0AD, | ||
918 | 0x045, 0x0A1, 0x01F, 0x0C0, 0x05F, 0x078, 0x039, 0x0C8, | ||
919 | 0x0A0, 0x08F, 0x09D, 0x048, 0x01C, 0x024, 0x0EE, 0x0C7, | ||
920 | 0x080, 0x0BE, 0x0BA, 0x0F5, 0x06D, 0x066, 0x049, 0x077, | ||
921 | 0x00D, 0x04E, 0x0A5, 0x030, 0x009, 0x0B4, 0x0F9, 0x0C5, | ||
922 | 0x043, 0x00F, 0x038, 0x0A9, 0x03F, 0x09D, 0x002, 0x0FB, | ||
923 | 0x0CE, 0x045, 0x011, 0x073, 0x091, 0x041, 0x0C7, 0x03A, | ||
924 | 0x091, 0x09F, 0x0CF, 0x069, 0x044, 0x05C, 0x0F1, 0x050, | ||
925 | 0x0BF, 0x033, 0x0CB, 0x032, 0x0A7, 0x0AC, 0x054, 0x090, | ||
926 | 0x08D, 0x044, 0x08E, 0x070, 0x029, 0x077, 0x0A8, 0x0D0, | ||
927 | 0x0CC, 0x0BA, 0x056, 0x0B0, 0x0B2, 0x09D, 0x08C, 0x086, | ||
928 | 0x04C, 0x017, 0x026, 0x077, 0x026, 0x01C, 0x027, 0x01C, | ||
929 | 0x024, 0x09E, 0x023, 0x061, 0x0BE, 0x08E, 0x012, 0x04F, | ||
930 | 0x011, 0x087, 0x01C, 0x0EA, 0x05C, 0x005, 0x0F5, 0x0D7, | ||
931 | 0x0B8, 0x06A, 0x075, 0x029, 0x077, 0x0AB, 0x00D, 0x099, | ||
932 | 0x074, 0x0A5, 0x04F, 0x072, 0x0A0, 0x0AA, 0x04A, 0x0C6, | ||
933 | 0x0F3, 0x066, 0x066, 0x0C6, 0x039, 0x082, 0x0AF, 0x075, | ||
934 | 0x0A6, 0x06F, 0x014, 0x06B, 0x0CE, 0x005, 0x070, 0x073, | ||
935 | 0x096, 0x082, 0x03E, 0x075, 0x028, 0x0E1, 0x03A, 0x0A7, | ||
936 | 0x0AD, 0x044, 0x060, 0x016, 0x052, 0x0B6, 0x01D, 0x07A, | ||
937 | 0x0B6, 0x0B3, 0x024, 0x0BB, 0x086, 0x0A7, 0x052, 0x098, | ||
938 | 0x004, 0x0DA, 0x07C, 0x0E2, 0x0A1, 0x087, 0x09C, 0x055, | ||
939 | 0x0F7, 0x09C, 0x0B5, 0x0AC, 0x02C, 0x095, 0x033, 0x0B9, | ||
940 | 0x031, 0x005, 0x0D9, 0x053, 0x0D6, 0x0A2, 0x030, 0x00B, | ||
941 | 0x029, 0x05B, 0x002, 0x02E, 0x061, 0x05A, 0x017, 0x0E6, | ||
942 | 0x09C, 0x0B3, 0x02A, 0x07A, 0x0C5, 0x040, 0x021, 0x0A8, | ||
943 | 0x091, 0x0CE, 0x005, 0x027, 0x0F3, 0x0A5, 0x088, 0x064, | ||
944 | 0x0C1, 0x072, 0x065, 0x04F, 0x058, 0x014, 0x00C, 0x08D, | ||
945 | 0x07E, 0x0F3, 0x081, 0x044, 0x05C, 0x0EF, 0x041, 0x0C7, | ||
946 | 0x03A, 0x0BE, 0x002, 0x0FA, 0x0A9, 0x0EA, 0x0CE, 0x0CC, | ||
947 | 0x0A9, 0x029, 0x053, 0x0D6, 0x0A2, 0x046, 0x047, 0x0DD, | ||
948 | 0x07A, 0x0C0, 0x0A3, 0x000, 0x086, 0x0E2, 0x09B, 0x029, | ||
949 | 0x078, 0x08B, 0x081, 0x009, 0x098, 0x070, 0x09B, 0x029, | ||
950 | 0x079, 0x05D, 0x0D9, 0x072, 0x0ED, 0x094, 0x0BC, 0x0B9, | ||
951 | 0x076, 0x013, 0x03B, 0x02A, 0x05D, 0x0B2, 0x097, 0x095, | ||
952 | 0x02E, 0x0D9, 0x04B, 0x0CA, 0x07D, 0x05B, 0x059, 0x094, | ||
953 | 0x0CA, 0x01C, 0x024, 0x0EE, 0x0C7, 0x094, 0x0BC, 0x0C0, | ||
954 | 0x026, 0x0D3, 0x0E7, 0x015, 0x00C, 0x03C, 0x0E2, 0x0AC, | ||
955 | 0x0FE, 0x07B, 0x04A, 0x022, 0x0E7, 0x08A, 0x085, 0x0F9, | ||
956 | 0x09E, 0x059, 0x097, 0x07A, 0x08D, 0x00C, 0x0CB, 0x0A5, | ||
957 | 0x027, 0x0F3, 0x0A0, 0x041, 0x072, 0x062, 0x019, 0x037, | ||
958 | 0x0DE, 0x070, 0x028, 0x08B, 0x09C, 0x08A, 0x00E, 0x039, | ||
959 | 0x0D4, 0x08D, 0x00F, 0x056, 0x036, 0x06D, 0x009, 0x04E, | ||
960 | 0x0BD, 0x059, 0x02C, 0x0CE, 0x0A5, 0x06B, 0x00B, 0x022, | ||
961 | 0x0D9, 0x09D, 0x0C9, 0x0B2, 0x097, 0x0BE, 0x0F3, 0x081, | ||
962 | 0x04A, 0x07D, 0x065, 0x0A3, 0x000, 0x093, 0x08F, 0x067, | ||
963 | 0x029, 0x078, 0x0C2, 0x04D, 0x0C1, 0x0D1, 0x006, 0x082, | ||
964 | 0x031, 0x0AF, 0x007, 0x038, 0x034, 0x011, 0x0F3, 0x0A8, | ||
965 | 0x02A, 0x09E, 0x0A8, 0x066, 0x01A, 0x0A4, 0x0A5, 0x04F, | ||
966 | 0x05A, 0x00C, 0x011, 0x08F, 0x0AA, 0x07B, 0x0D0, 0x065, | ||
967 | 0x049, 0x045, 0x0BD, 0x0E9, 0x062, 0x0D2, 0x0B1, 0x09E, | ||
968 | 0x06C, 0x0CC, 0x0C6, 0x019, 0x087, 0x009, 0x0C3, 0x08E, | ||
969 | 0x075, 0x041, 0x01F, 0x03A, 0x0A5, 0x013, 0x0D5, 0x055, | ||
970 | 0x055, 0x055, 0x055, 0x055, 0x055, 0x055, 0x055, 0x055, | ||
971 | 0x055, 0x055, 0x055, 0x055, 0x055, 0x055, 0x055, 0x055, | ||
972 | 0x055, 0x055, 0x055, 0x055, 0x055, 0x055, 0x055, 0x055, | ||
973 | 0x055, 0x055, 0x055, 0x055, 0x055, 0x055, 0x055, 0x055, | ||
974 | 0x055, 0x055, 0x055, 0x055, 0x055, 0x055, 0x055, 0x055, | ||
975 | 0x055, 0x055, 0x055, 0x05A, 0x0CC, 0x090 | ||
976 | }; | ||
977 | |||
978 | #endif /* defined(CONFIG_SMCTR) || defined(CONFIG_SMCTR_MODULE) */ | ||
diff --git a/drivers/net/tun.c b/drivers/net/tun.c index 7ab94c825b57..eba1271b9735 100644 --- a/drivers/net/tun.c +++ b/drivers/net/tun.c | |||
@@ -48,6 +48,7 @@ | |||
48 | #include <linux/kernel.h> | 48 | #include <linux/kernel.h> |
49 | #include <linux/major.h> | 49 | #include <linux/major.h> |
50 | #include <linux/slab.h> | 50 | #include <linux/slab.h> |
51 | #include <linux/smp_lock.h> | ||
51 | #include <linux/poll.h> | 52 | #include <linux/poll.h> |
52 | #include <linux/fcntl.h> | 53 | #include <linux/fcntl.h> |
53 | #include <linux/init.h> | 54 | #include <linux/init.h> |
@@ -602,6 +603,12 @@ static int tun_set_iff(struct net *net, struct file *file, struct ifreq *ifr) | |||
602 | tun->attached = 1; | 603 | tun->attached = 1; |
603 | get_net(dev_net(tun->dev)); | 604 | get_net(dev_net(tun->dev)); |
604 | 605 | ||
606 | /* Make sure persistent devices do not get stuck in | ||
607 | * xoff state. | ||
608 | */ | ||
609 | if (netif_running(tun->dev)) | ||
610 | netif_wake_queue(tun->dev); | ||
611 | |||
605 | strcpy(ifr->ifr_name, tun->dev->name); | 612 | strcpy(ifr->ifr_name, tun->dev->name); |
606 | return 0; | 613 | return 0; |
607 | 614 | ||
@@ -796,22 +803,26 @@ static int tun_chr_fasync(int fd, struct file *file, int on) | |||
796 | 803 | ||
797 | DBG(KERN_INFO "%s: tun_chr_fasync %d\n", tun->dev->name, on); | 804 | DBG(KERN_INFO "%s: tun_chr_fasync %d\n", tun->dev->name, on); |
798 | 805 | ||
806 | lock_kernel(); | ||
799 | if ((ret = fasync_helper(fd, file, on, &tun->fasync)) < 0) | 807 | if ((ret = fasync_helper(fd, file, on, &tun->fasync)) < 0) |
800 | return ret; | 808 | goto out; |
801 | 809 | ||
802 | if (on) { | 810 | if (on) { |
803 | ret = __f_setown(file, task_pid(current), PIDTYPE_PID, 0); | 811 | ret = __f_setown(file, task_pid(current), PIDTYPE_PID, 0); |
804 | if (ret) | 812 | if (ret) |
805 | return ret; | 813 | goto out; |
806 | tun->flags |= TUN_FASYNC; | 814 | tun->flags |= TUN_FASYNC; |
807 | } else | 815 | } else |
808 | tun->flags &= ~TUN_FASYNC; | 816 | tun->flags &= ~TUN_FASYNC; |
809 | 817 | ret = 0; | |
810 | return 0; | 818 | out: |
819 | unlock_kernel(); | ||
820 | return ret; | ||
811 | } | 821 | } |
812 | 822 | ||
813 | static int tun_chr_open(struct inode *inode, struct file * file) | 823 | static int tun_chr_open(struct inode *inode, struct file * file) |
814 | { | 824 | { |
825 | cycle_kernel_lock(); | ||
815 | DBG1(KERN_INFO "tunX: tun_chr_open\n"); | 826 | DBG1(KERN_INFO "tunX: tun_chr_open\n"); |
816 | file->private_data = NULL; | 827 | file->private_data = NULL; |
817 | return 0; | 828 | return 0; |
diff --git a/drivers/net/usb/kaweth.c b/drivers/net/usb/kaweth.c index 7c66b052f55a..d6829db51b45 100644 --- a/drivers/net/usb/kaweth.c +++ b/drivers/net/usb/kaweth.c | |||
@@ -57,13 +57,12 @@ | |||
57 | #include <linux/ethtool.h> | 57 | #include <linux/ethtool.h> |
58 | #include <linux/dma-mapping.h> | 58 | #include <linux/dma-mapping.h> |
59 | #include <linux/wait.h> | 59 | #include <linux/wait.h> |
60 | #include <linux/firmware.h> | ||
60 | #include <asm/uaccess.h> | 61 | #include <asm/uaccess.h> |
61 | #include <asm/byteorder.h> | 62 | #include <asm/byteorder.h> |
62 | 63 | ||
63 | #undef DEBUG | 64 | #undef DEBUG |
64 | 65 | ||
65 | #include "kawethfw.h" | ||
66 | |||
67 | #define KAWETH_MTU 1514 | 66 | #define KAWETH_MTU 1514 |
68 | #define KAWETH_BUF_SIZE 1664 | 67 | #define KAWETH_BUF_SIZE 1664 |
69 | #define KAWETH_TX_TIMEOUT (5 * HZ) | 68 | #define KAWETH_TX_TIMEOUT (5 * HZ) |
@@ -108,6 +107,10 @@ | |||
108 | MODULE_AUTHOR("Michael Zappe <zapman@interlan.net>, Stephane Alnet <stephane@u-picardie.fr>, Brad Hards <bhards@bigpond.net.au> and Oliver Neukum <oliver@neukum.org>"); | 107 | MODULE_AUTHOR("Michael Zappe <zapman@interlan.net>, Stephane Alnet <stephane@u-picardie.fr>, Brad Hards <bhards@bigpond.net.au> and Oliver Neukum <oliver@neukum.org>"); |
109 | MODULE_DESCRIPTION("KL5USB101 USB Ethernet driver"); | 108 | MODULE_DESCRIPTION("KL5USB101 USB Ethernet driver"); |
110 | MODULE_LICENSE("GPL"); | 109 | MODULE_LICENSE("GPL"); |
110 | MODULE_FIRMWARE("kaweth/new_code.bin"); | ||
111 | MODULE_FIRMWARE("kaweth/new_code_fix.bin"); | ||
112 | MODULE_FIRMWARE("kaweth/trigger_code.bin"); | ||
113 | MODULE_FIRMWARE("kaweth/trigger_code_fix.bin"); | ||
111 | 114 | ||
112 | static const char driver_name[] = "kaweth"; | 115 | static const char driver_name[] = "kaweth"; |
113 | 116 | ||
@@ -385,17 +388,28 @@ static int kaweth_set_receive_filter(struct kaweth_device *kaweth, | |||
385 | * kaweth_download_firmware | 388 | * kaweth_download_firmware |
386 | ****************************************************************/ | 389 | ****************************************************************/ |
387 | static int kaweth_download_firmware(struct kaweth_device *kaweth, | 390 | static int kaweth_download_firmware(struct kaweth_device *kaweth, |
388 | __u8 *data, | 391 | const char *fwname, |
389 | __u16 data_len, | ||
390 | __u8 interrupt, | 392 | __u8 interrupt, |
391 | __u8 type) | 393 | __u8 type) |
392 | { | 394 | { |
393 | if(data_len > KAWETH_FIRMWARE_BUF_SIZE) { | 395 | const struct firmware *fw; |
394 | err("Firmware too big: %d", data_len); | 396 | int data_len; |
397 | int ret; | ||
398 | |||
399 | ret = request_firmware(&fw, fwname, &kaweth->dev->dev); | ||
400 | if (ret) { | ||
401 | err("Firmware request failed\n"); | ||
402 | return ret; | ||
403 | } | ||
404 | |||
405 | if (fw->size > KAWETH_FIRMWARE_BUF_SIZE) { | ||
406 | err("Firmware too big: %zu", fw->size); | ||
395 | return -ENOSPC; | 407 | return -ENOSPC; |
396 | } | 408 | } |
409 | data_len = fw->size; | ||
410 | memcpy(kaweth->firmware_buf, fw->data, fw->size); | ||
397 | 411 | ||
398 | memcpy(kaweth->firmware_buf, data, data_len); | 412 | release_firmware(fw); |
399 | 413 | ||
400 | kaweth->firmware_buf[2] = (data_len & 0xFF) - 7; | 414 | kaweth->firmware_buf[2] = (data_len & 0xFF) - 7; |
401 | kaweth->firmware_buf[3] = data_len >> 8; | 415 | kaweth->firmware_buf[3] = data_len >> 8; |
@@ -406,8 +420,7 @@ static int kaweth_download_firmware(struct kaweth_device *kaweth, | |||
406 | kaweth->firmware_buf[2]); | 420 | kaweth->firmware_buf[2]); |
407 | 421 | ||
408 | dbg("Downloading firmware at %p to kaweth device at %p", | 422 | dbg("Downloading firmware at %p to kaweth device at %p", |
409 | data, | 423 | fw->data, kaweth); |
410 | kaweth); | ||
411 | dbg("Firmware length: %d", data_len); | 424 | dbg("Firmware length: %d", data_len); |
412 | 425 | ||
413 | return kaweth_control(kaweth, | 426 | return kaweth_control(kaweth, |
@@ -1009,8 +1022,7 @@ static int kaweth_probe( | |||
1009 | info("Downloading firmware..."); | 1022 | info("Downloading firmware..."); |
1010 | kaweth->firmware_buf = (__u8 *)__get_free_page(GFP_KERNEL); | 1023 | kaweth->firmware_buf = (__u8 *)__get_free_page(GFP_KERNEL); |
1011 | if ((result = kaweth_download_firmware(kaweth, | 1024 | if ((result = kaweth_download_firmware(kaweth, |
1012 | kaweth_new_code, | 1025 | "kaweth/new_code.bin", |
1013 | len_kaweth_new_code, | ||
1014 | 100, | 1026 | 100, |
1015 | 2)) < 0) { | 1027 | 2)) < 0) { |
1016 | err("Error downloading firmware (%d)", result); | 1028 | err("Error downloading firmware (%d)", result); |
@@ -1018,8 +1030,7 @@ static int kaweth_probe( | |||
1018 | } | 1030 | } |
1019 | 1031 | ||
1020 | if ((result = kaweth_download_firmware(kaweth, | 1032 | if ((result = kaweth_download_firmware(kaweth, |
1021 | kaweth_new_code_fix, | 1033 | "kaweth/new_code_fix.bin", |
1022 | len_kaweth_new_code_fix, | ||
1023 | 100, | 1034 | 100, |
1024 | 3)) < 0) { | 1035 | 3)) < 0) { |
1025 | err("Error downloading firmware fix (%d)", result); | 1036 | err("Error downloading firmware fix (%d)", result); |
@@ -1027,8 +1038,7 @@ static int kaweth_probe( | |||
1027 | } | 1038 | } |
1028 | 1039 | ||
1029 | if ((result = kaweth_download_firmware(kaweth, | 1040 | if ((result = kaweth_download_firmware(kaweth, |
1030 | kaweth_trigger_code, | 1041 | "kaweth/trigger_code.bin", |
1031 | len_kaweth_trigger_code, | ||
1032 | 126, | 1042 | 126, |
1033 | 2)) < 0) { | 1043 | 2)) < 0) { |
1034 | err("Error downloading trigger code (%d)", result); | 1044 | err("Error downloading trigger code (%d)", result); |
@@ -1037,8 +1047,7 @@ static int kaweth_probe( | |||
1037 | } | 1047 | } |
1038 | 1048 | ||
1039 | if ((result = kaweth_download_firmware(kaweth, | 1049 | if ((result = kaweth_download_firmware(kaweth, |
1040 | kaweth_trigger_code_fix, | 1050 | "kaweth/trigger_code_fix.bin", |
1041 | len_kaweth_trigger_code_fix, | ||
1042 | 126, | 1051 | 126, |
1043 | 3)) < 0) { | 1052 | 3)) < 0) { |
1044 | err("Error downloading trigger code fix (%d)", result); | 1053 | err("Error downloading trigger code fix (%d)", result); |
diff --git a/drivers/net/usb/kawethfw.h b/drivers/net/usb/kawethfw.h deleted file mode 100644 index cf85fcb0d1a6..000000000000 --- a/drivers/net/usb/kawethfw.h +++ /dev/null | |||
@@ -1,557 +0,0 @@ | |||
1 | /******************************************/ | ||
2 | /* NOTE: B6/C3 is data header signature */ | ||
3 | /* 0xAA/0xBB is data length = total */ | ||
4 | /* bytes - 7, 0xCC is type, 0xDD is */ | ||
5 | /* interrupt to use. */ | ||
6 | /******************************************/ | ||
7 | |||
8 | /**************************************************************** | ||
9 | * kaweth_trigger_code | ||
10 | ****************************************************************/ | ||
11 | static __u8 kaweth_trigger_code[] = | ||
12 | { | ||
13 | 0xB6, 0xC3, 0xAA, 0xBB, 0xCC, 0xDD, | ||
14 | 0xc8, 0x07, 0xa0, 0x00, 0xf0, 0x07, 0x5e, 0x00, | ||
15 | 0x06, 0x00, 0xf0, 0x07, 0x0a, 0x00, 0x08, 0x00, | ||
16 | 0xf0, 0x09, 0x00, 0x00, 0x02, 0x00, 0xe7, 0x07, | ||
17 | 0x36, 0x00, 0x00, 0x00, 0xf0, 0x07, 0x00, 0x00, | ||
18 | 0x04, 0x00, 0xe7, 0x07, 0x50, 0xc3, 0x10, 0xc0, | ||
19 | 0xf0, 0x09, 0x0e, 0xc0, 0x00, 0x00, 0xe7, 0x87, | ||
20 | 0x01, 0x00, 0x0e, 0xc0, 0x97, 0xcf, 0xd7, 0x09, | ||
21 | 0x00, 0xc0, 0x17, 0x02, 0xc8, 0x07, 0xa0, 0x00, | ||
22 | 0xe7, 0x17, 0x50, 0xc3, 0x10, 0xc0, 0x30, 0xd8, | ||
23 | 0x04, 0x00, 0x30, 0x5c, 0x08, 0x00, 0x04, 0x00, | ||
24 | 0xb0, 0xc0, 0x06, 0x00, 0xc8, 0x05, 0xe7, 0x05, | ||
25 | 0x00, 0xc0, 0xc0, 0xdf, 0x97, 0xcf, 0x49, 0xaf, | ||
26 | 0xc0, 0x07, 0x00, 0x00, 0x60, 0xaf, 0x4a, 0xaf, | ||
27 | 0x00, 0x0c, 0x0c, 0x00, 0x40, 0xd2, 0x00, 0x1c, | ||
28 | 0x0c, 0x00, 0x40, 0xd2, 0x30, 0x00, 0x08, 0x00, | ||
29 | 0xf0, 0x07, 0x00, 0x00, 0x04, 0x00, 0xf0, 0x07, | ||
30 | 0x86, 0x00, 0x06, 0x00, 0x67, 0xcf, 0x27, 0x0c, | ||
31 | 0x02, 0x00, 0x00, 0x00, 0x27, 0x0c, 0x00, 0x00, | ||
32 | 0x0e, 0xc0, 0x49, 0xaf, 0x64, 0xaf, 0xc0, 0x07, | ||
33 | 0x00, 0x00, 0x4b, 0xaf, 0x4a, 0xaf, 0x5a, 0xcf, | ||
34 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
35 | 0x00, 0x00, 0x94, 0x00, 0x05, 0x00, | ||
36 | 0x00, 0x00 | ||
37 | }; | ||
38 | /**************************************************************** | ||
39 | * kaweth_trigger_code_fix | ||
40 | ****************************************************************/ | ||
41 | static __u8 kaweth_trigger_code_fix[] = | ||
42 | { | ||
43 | 0xB6, 0xC3, 0xAA, 0xBB, 0xCC, 0xDD, | ||
44 | 0x02, 0x00, 0x06, 0x00, 0x18, 0x00, 0x3e, 0x00, | ||
45 | 0x80, 0x00, 0x98, 0x00, 0xaa, 0x00, | ||
46 | 0x00, 0x00 | ||
47 | }; | ||
48 | |||
49 | /**************************************************************** | ||
50 | * kaweth_new_code | ||
51 | ****************************************************************/ | ||
52 | static __u8 kaweth_new_code[] = | ||
53 | { | ||
54 | 0xB6, 0xC3, 0xAA, 0xBB, 0xCC, 0xDD, | ||
55 | 0x9f, 0xcf, 0xde, 0x06, 0xe7, 0x57, 0x00, 0x00, | ||
56 | 0xc4, 0x06, 0x97, 0xc1, 0xe7, 0x67, 0xff, 0x1f, | ||
57 | 0x28, 0xc0, 0xe7, 0x87, 0x00, 0x04, 0x24, 0xc0, | ||
58 | 0xe7, 0x67, 0xff, 0xf9, 0x22, 0xc0, 0x97, 0xcf, | ||
59 | 0xd7, 0x09, 0x00, 0xc0, 0xe7, 0x09, 0xa2, 0xc0, | ||
60 | 0xbe, 0x06, 0x9f, 0xaf, 0x36, 0x00, 0xe7, 0x05, | ||
61 | 0x00, 0xc0, 0xa7, 0xcf, 0xbc, 0x06, 0x97, 0xcf, | ||
62 | 0xe7, 0x57, 0x00, 0x00, 0xb8, 0x06, 0xa7, 0xa1, | ||
63 | 0xb8, 0x06, 0x97, 0xcf, 0xe7, 0x57, 0x00, 0x00, | ||
64 | 0x14, 0x08, 0x0a, 0xc0, 0xe7, 0x57, 0x00, 0x00, | ||
65 | 0xa4, 0xc0, 0xa7, 0xc0, 0x7a, 0x06, 0x9f, 0xaf, | ||
66 | 0x92, 0x07, 0xe7, 0x07, 0x00, 0x00, 0x14, 0x08, | ||
67 | 0xe7, 0x57, 0xff, 0xff, 0xba, 0x06, 0x9f, 0xa0, | ||
68 | 0x38, 0x00, 0xe7, 0x59, 0xba, 0x06, 0xbe, 0x06, | ||
69 | 0x9f, 0xa0, 0x38, 0x00, 0xc8, 0x09, 0xca, 0x06, | ||
70 | 0x08, 0x62, 0x9f, 0xa1, 0x36, 0x08, 0xc0, 0x09, | ||
71 | 0x76, 0x06, 0x00, 0x60, 0xa7, 0xc0, 0x7a, 0x06, | ||
72 | 0x9f, 0xaf, 0xcc, 0x02, 0xe7, 0x57, 0x00, 0x00, | ||
73 | 0xb8, 0x06, 0xa7, 0xc1, 0x7a, 0x06, 0x9f, 0xaf, | ||
74 | 0x04, 0x00, 0xe7, 0x57, 0x00, 0x00, 0x8e, 0x06, | ||
75 | 0x0a, 0xc1, 0xe7, 0x09, 0x20, 0xc0, 0x10, 0x08, | ||
76 | 0xe7, 0xd0, 0x10, 0x08, 0xe7, 0x67, 0x40, 0x00, | ||
77 | 0x10, 0x08, 0x9f, 0xaf, 0x92, 0x0c, 0xc0, 0x09, | ||
78 | 0xd0, 0x06, 0x00, 0x60, 0x05, 0xc4, 0xc0, 0x59, | ||
79 | 0xbe, 0x06, 0x02, 0xc0, 0x9f, 0xaf, 0xec, 0x00, | ||
80 | 0x9f, 0xaf, 0x34, 0x02, 0xe7, 0x57, 0x00, 0x00, | ||
81 | 0xa6, 0x06, 0x9f, 0xa0, 0x7a, 0x02, 0xa7, 0xcf, | ||
82 | 0x7a, 0x06, 0x48, 0x02, 0xe7, 0x09, 0xbe, 0x06, | ||
83 | 0xd0, 0x06, 0xc8, 0x37, 0x04, 0x00, 0x9f, 0xaf, | ||
84 | 0x08, 0x03, 0x97, 0xcf, 0xe7, 0x57, 0x00, 0x00, | ||
85 | 0xce, 0x06, 0x97, 0xc0, 0xd7, 0x09, 0x00, 0xc0, | ||
86 | 0xc1, 0xdf, 0xc8, 0x09, 0xc6, 0x06, 0x08, 0x62, | ||
87 | 0x14, 0xc0, 0x27, 0x04, 0xc6, 0x06, 0x10, 0x94, | ||
88 | 0xf0, 0x07, 0x10, 0x08, 0x02, 0x00, 0xc1, 0x07, | ||
89 | 0x01, 0x00, 0x70, 0x00, 0x04, 0x00, 0xf0, 0x07, | ||
90 | 0x30, 0x01, 0x06, 0x00, 0x50, 0xaf, 0xe7, 0x07, | ||
91 | 0xff, 0xff, 0xd0, 0x06, 0xe7, 0x07, 0x00, 0x00, | ||
92 | 0xce, 0x06, 0xe7, 0x05, 0x00, 0xc0, 0x97, 0xcf, | ||
93 | 0xd7, 0x09, 0x00, 0xc0, 0xc1, 0xdf, 0x48, 0x02, | ||
94 | 0xd0, 0x09, 0xc6, 0x06, 0x27, 0x02, 0xc6, 0x06, | ||
95 | 0xe7, 0x05, 0x00, 0xc0, 0x97, 0xcf, 0x48, 0x02, | ||
96 | 0xc8, 0x37, 0x04, 0x00, 0x00, 0x0c, 0x0c, 0x00, | ||
97 | 0x00, 0x60, 0x21, 0xc0, 0xc0, 0x37, 0x3e, 0x00, | ||
98 | 0x23, 0xc9, 0xc0, 0x57, 0xb4, 0x05, 0x1b, 0xc8, | ||
99 | 0xc0, 0x17, 0x3f, 0x00, 0xc0, 0x67, 0xc0, 0xff, | ||
100 | 0x30, 0x00, 0x08, 0x00, 0xf0, 0x07, 0x00, 0x00, | ||
101 | 0x04, 0x00, 0x00, 0x02, 0xc0, 0x17, 0x4c, 0x00, | ||
102 | 0x30, 0x00, 0x06, 0x00, 0xf0, 0x07, 0xa0, 0x01, | ||
103 | 0x0a, 0x00, 0x48, 0x02, 0xc1, 0x07, 0x02, 0x00, | ||
104 | 0xd7, 0x09, 0x00, 0xc0, 0xc1, 0xdf, 0x51, 0xaf, | ||
105 | 0xe7, 0x05, 0x00, 0xc0, 0x97, 0xcf, 0x9f, 0xaf, | ||
106 | 0x08, 0x03, 0x9f, 0xaf, 0x7a, 0x02, 0x97, 0xcf, | ||
107 | 0x9f, 0xaf, 0x7a, 0x02, 0xc9, 0x37, 0x04, 0x00, | ||
108 | 0xc1, 0xdf, 0xc8, 0x09, 0xa2, 0x06, 0x50, 0x02, | ||
109 | 0x67, 0x02, 0xa2, 0x06, 0xd1, 0x07, 0x00, 0x00, | ||
110 | 0x27, 0xd8, 0xaa, 0x06, 0xc0, 0xdf, 0x9f, 0xaf, | ||
111 | 0xc4, 0x01, 0x97, 0xcf, 0xe7, 0x57, 0x00, 0x00, | ||
112 | 0xd2, 0x06, 0x97, 0xc1, 0xe7, 0x57, 0x01, 0x00, | ||
113 | 0xa8, 0x06, 0x97, 0xc0, 0xc8, 0x09, 0xa0, 0x06, | ||
114 | 0x08, 0x62, 0x97, 0xc0, 0x00, 0x02, 0xc0, 0x17, | ||
115 | 0x0e, 0x00, 0x27, 0x00, 0x34, 0x01, 0x27, 0x0c, | ||
116 | 0x0c, 0x00, 0x36, 0x01, 0xe7, 0x07, 0x50, 0xc3, | ||
117 | 0x12, 0xc0, 0xe7, 0x07, 0xcc, 0x0b, 0x02, 0x00, | ||
118 | 0xe7, 0x07, 0x01, 0x00, 0xa8, 0x06, 0xe7, 0x07, | ||
119 | 0x05, 0x00, 0x90, 0xc0, 0x97, 0xcf, 0xc8, 0x09, | ||
120 | 0xa4, 0x06, 0x08, 0x62, 0x02, 0xc0, 0x10, 0x64, | ||
121 | 0x07, 0xc1, 0xe7, 0x07, 0x00, 0x00, 0x9e, 0x06, | ||
122 | 0xe7, 0x07, 0x72, 0x04, 0x24, 0x00, 0x97, 0xcf, | ||
123 | 0x27, 0x04, 0xa4, 0x06, 0xc8, 0x17, 0x0e, 0x00, | ||
124 | 0x27, 0x02, 0x9e, 0x06, 0xe7, 0x07, 0x80, 0x04, | ||
125 | 0x24, 0x00, 0x97, 0xcf, 0xd7, 0x09, 0x00, 0xc0, | ||
126 | 0xc1, 0xdf, 0xe7, 0x57, 0x00, 0x00, 0x90, 0x06, | ||
127 | 0x13, 0xc1, 0x9f, 0xaf, 0x06, 0x02, 0xe7, 0x57, | ||
128 | 0x00, 0x00, 0x9e, 0x06, 0x13, 0xc0, 0xe7, 0x09, | ||
129 | 0x9e, 0x06, 0x30, 0x01, 0xe7, 0x07, 0xf2, 0x05, | ||
130 | 0x32, 0x01, 0xe7, 0x07, 0x10, 0x00, 0x96, 0xc0, | ||
131 | 0xe7, 0x09, 0x9e, 0x06, 0x90, 0x06, 0x04, 0xcf, | ||
132 | 0xe7, 0x57, 0x00, 0x00, 0x9e, 0x06, 0x02, 0xc1, | ||
133 | 0x9f, 0xaf, 0x06, 0x02, 0xe7, 0x05, 0x00, 0xc0, | ||
134 | 0x97, 0xcf, 0xd7, 0x09, 0x00, 0xc0, 0xc1, 0xdf, | ||
135 | 0x08, 0x92, 0xe7, 0x57, 0x02, 0x00, 0xaa, 0x06, | ||
136 | 0x02, 0xc3, 0xc8, 0x09, 0xa4, 0x06, 0x27, 0x02, | ||
137 | 0xa6, 0x06, 0x08, 0x62, 0x03, 0xc1, 0xe7, 0x05, | ||
138 | 0x00, 0xc0, 0x97, 0xcf, 0x27, 0x04, 0xa4, 0x06, | ||
139 | 0xe7, 0x05, 0x00, 0xc0, 0xf0, 0x07, 0x40, 0x00, | ||
140 | 0x08, 0x00, 0xf0, 0x07, 0x00, 0x00, 0x04, 0x00, | ||
141 | 0x00, 0x02, 0xc0, 0x17, 0x0c, 0x00, 0x30, 0x00, | ||
142 | 0x06, 0x00, 0xf0, 0x07, 0x46, 0x01, 0x0a, 0x00, | ||
143 | 0xc8, 0x17, 0x04, 0x00, 0xc1, 0x07, 0x02, 0x00, | ||
144 | 0x51, 0xaf, 0x97, 0xcf, 0xe7, 0x57, 0x00, 0x00, | ||
145 | 0x96, 0x06, 0x97, 0xc0, 0xc1, 0xdf, 0xc8, 0x09, | ||
146 | 0x96, 0x06, 0x27, 0x04, 0x96, 0x06, 0x27, 0x52, | ||
147 | 0x98, 0x06, 0x03, 0xc1, 0xe7, 0x07, 0x96, 0x06, | ||
148 | 0x98, 0x06, 0xc0, 0xdf, 0x17, 0x02, 0xc8, 0x17, | ||
149 | 0x0e, 0x00, 0x9f, 0xaf, 0xba, 0x03, 0xc8, 0x05, | ||
150 | 0x00, 0x60, 0x03, 0xc0, 0x9f, 0xaf, 0x24, 0x03, | ||
151 | 0x97, 0xcf, 0x9f, 0xaf, 0x08, 0x03, 0x97, 0xcf, | ||
152 | 0x57, 0x02, 0xc9, 0x07, 0xa4, 0x06, 0xd7, 0x09, | ||
153 | 0x00, 0xc0, 0xc1, 0xdf, 0x08, 0x62, 0x1b, 0xc0, | ||
154 | 0x50, 0x04, 0x11, 0x02, 0xe7, 0x05, 0x00, 0xc0, | ||
155 | 0xc9, 0x05, 0x97, 0xcf, 0x97, 0x02, 0xca, 0x09, | ||
156 | 0xd6, 0x06, 0xf2, 0x17, 0x01, 0x00, 0x04, 0x00, | ||
157 | 0xf2, 0x27, 0x00, 0x00, 0x06, 0x00, 0xca, 0x17, | ||
158 | 0x2c, 0x00, 0xf8, 0x77, 0x01, 0x00, 0x0e, 0x00, | ||
159 | 0x06, 0xc0, 0xca, 0xd9, 0xf8, 0x57, 0xff, 0x00, | ||
160 | 0x0e, 0x00, 0x01, 0xc1, 0xca, 0xd9, 0x22, 0x1c, | ||
161 | 0x0c, 0x00, 0xe2, 0x27, 0x00, 0x00, 0xe2, 0x17, | ||
162 | 0x01, 0x00, 0xe2, 0x27, 0x00, 0x00, 0xca, 0x05, | ||
163 | 0x00, 0x0c, 0x0c, 0x00, 0xc0, 0x17, 0x41, 0x00, | ||
164 | 0xc0, 0x67, 0xc0, 0xff, 0x30, 0x00, 0x08, 0x00, | ||
165 | 0x00, 0x02, 0xc0, 0x17, 0x0c, 0x00, 0x30, 0x00, | ||
166 | 0x06, 0x00, 0xf0, 0x07, 0xda, 0x00, 0x0a, 0x00, | ||
167 | 0xf0, 0x07, 0x00, 0x00, 0x04, 0x00, 0x00, 0x0c, | ||
168 | 0x08, 0x00, 0x40, 0xd1, 0x01, 0x00, 0xc0, 0x19, | ||
169 | 0xce, 0x06, 0xc0, 0x59, 0xc2, 0x06, 0x04, 0xc9, | ||
170 | 0x49, 0xaf, 0x9f, 0xaf, 0xec, 0x00, 0x4a, 0xaf, | ||
171 | 0x67, 0x10, 0xce, 0x06, 0xc8, 0x17, 0x04, 0x00, | ||
172 | 0xc1, 0x07, 0x01, 0x00, 0xd7, 0x09, 0x00, 0xc0, | ||
173 | 0xc1, 0xdf, 0x50, 0xaf, 0xe7, 0x05, 0x00, 0xc0, | ||
174 | 0x97, 0xcf, 0xc0, 0x07, 0x01, 0x00, 0xc1, 0x09, | ||
175 | 0xac, 0x06, 0xc1, 0x77, 0x01, 0x00, 0x97, 0xc1, | ||
176 | 0xd8, 0x77, 0x01, 0x00, 0x12, 0xc0, 0xc9, 0x07, | ||
177 | 0x6a, 0x06, 0x9f, 0xaf, 0x08, 0x04, 0x04, 0xc1, | ||
178 | 0xc1, 0x77, 0x08, 0x00, 0x13, 0xc0, 0x97, 0xcf, | ||
179 | 0xc1, 0x77, 0x02, 0x00, 0x97, 0xc1, 0xc1, 0x77, | ||
180 | 0x10, 0x00, 0x0c, 0xc0, 0x9f, 0xaf, 0x2c, 0x04, | ||
181 | 0x97, 0xcf, 0xc1, 0x77, 0x04, 0x00, 0x06, 0xc0, | ||
182 | 0xc9, 0x07, 0x70, 0x06, 0x9f, 0xaf, 0x08, 0x04, | ||
183 | 0x97, 0xc0, 0x00, 0xcf, 0x00, 0x90, 0x97, 0xcf, | ||
184 | 0x50, 0x54, 0x97, 0xc1, 0x70, 0x5c, 0x02, 0x00, | ||
185 | 0x02, 0x00, 0x97, 0xc1, 0x70, 0x5c, 0x04, 0x00, | ||
186 | 0x04, 0x00, 0x97, 0xcf, 0x80, 0x01, 0xc0, 0x00, | ||
187 | 0x60, 0x00, 0x30, 0x00, 0x18, 0x00, 0x0c, 0x00, | ||
188 | 0x06, 0x00, 0x00, 0x00, 0xcb, 0x09, 0xb2, 0x06, | ||
189 | 0xcc, 0x09, 0xb4, 0x06, 0x0b, 0x53, 0x11, 0xc0, | ||
190 | 0xc9, 0x02, 0xca, 0x07, 0x1c, 0x04, 0x9f, 0xaf, | ||
191 | 0x08, 0x04, 0x97, 0xc0, 0x0a, 0xc8, 0x82, 0x08, | ||
192 | 0x0a, 0xcf, 0x82, 0x08, 0x9f, 0xaf, 0x08, 0x04, | ||
193 | 0x97, 0xc0, 0x05, 0xc2, 0x89, 0x30, 0x82, 0x60, | ||
194 | 0x78, 0xc1, 0x00, 0x90, 0x97, 0xcf, 0x89, 0x10, | ||
195 | 0x09, 0x53, 0x79, 0xc2, 0x89, 0x30, 0x82, 0x08, | ||
196 | 0x7a, 0xcf, 0xc0, 0xdf, 0x97, 0xcf, 0xc0, 0xdf, | ||
197 | 0x97, 0xcf, 0xe7, 0x09, 0x96, 0xc0, 0x92, 0x06, | ||
198 | 0xe7, 0x09, 0x98, 0xc0, 0x94, 0x06, 0x0f, 0xcf, | ||
199 | 0xe7, 0x09, 0x96, 0xc0, 0x92, 0x06, 0xe7, 0x09, | ||
200 | 0x98, 0xc0, 0x94, 0x06, 0xe7, 0x09, 0x9e, 0x06, | ||
201 | 0x30, 0x01, 0xe7, 0x07, 0xf2, 0x05, 0x32, 0x01, | ||
202 | 0xe7, 0x07, 0x10, 0x00, 0x96, 0xc0, 0xd7, 0x09, | ||
203 | 0x00, 0xc0, 0x17, 0x02, 0xc8, 0x09, 0x90, 0x06, | ||
204 | 0xc8, 0x37, 0x0e, 0x00, 0xe7, 0x77, 0x2a, 0x00, | ||
205 | 0x92, 0x06, 0x30, 0xc0, 0x97, 0x02, 0xca, 0x09, | ||
206 | 0xd6, 0x06, 0xe7, 0x77, 0x20, 0x00, 0x92, 0x06, | ||
207 | 0x0e, 0xc0, 0xf2, 0x17, 0x01, 0x00, 0x10, 0x00, | ||
208 | 0xf2, 0x27, 0x00, 0x00, 0x12, 0x00, 0xe7, 0x77, | ||
209 | 0x0a, 0x00, 0x92, 0x06, 0xca, 0x05, 0x1e, 0xc0, | ||
210 | 0x97, 0x02, 0xca, 0x09, 0xd6, 0x06, 0xf2, 0x17, | ||
211 | 0x01, 0x00, 0x0c, 0x00, 0xf2, 0x27, 0x00, 0x00, | ||
212 | 0x0e, 0x00, 0xe7, 0x77, 0x02, 0x00, 0x92, 0x06, | ||
213 | 0x07, 0xc0, 0xf2, 0x17, 0x01, 0x00, 0x44, 0x00, | ||
214 | 0xf2, 0x27, 0x00, 0x00, 0x46, 0x00, 0x06, 0xcf, | ||
215 | 0xf2, 0x17, 0x01, 0x00, 0x60, 0x00, 0xf2, 0x27, | ||
216 | 0x00, 0x00, 0x62, 0x00, 0xca, 0x05, 0x9f, 0xaf, | ||
217 | 0x08, 0x03, 0x0f, 0xcf, 0x57, 0x02, 0x09, 0x02, | ||
218 | 0xf1, 0x09, 0x94, 0x06, 0x0c, 0x00, 0xf1, 0xda, | ||
219 | 0x0c, 0x00, 0xc8, 0x09, 0x98, 0x06, 0x50, 0x02, | ||
220 | 0x67, 0x02, 0x98, 0x06, 0xd1, 0x07, 0x00, 0x00, | ||
221 | 0xc9, 0x05, 0xe7, 0x09, 0x9e, 0x06, 0x90, 0x06, | ||
222 | 0xe7, 0x57, 0x00, 0x00, 0x90, 0x06, 0x02, 0xc0, | ||
223 | 0x9f, 0xaf, 0x06, 0x02, 0xc8, 0x05, 0xe7, 0x05, | ||
224 | 0x00, 0xc0, 0xc0, 0xdf, 0x97, 0xcf, 0xd7, 0x09, | ||
225 | 0x00, 0xc0, 0x17, 0x00, 0x17, 0x02, 0x97, 0x02, | ||
226 | 0xc0, 0x09, 0x92, 0xc0, 0xe7, 0x07, 0x04, 0x00, | ||
227 | 0x90, 0xc0, 0xca, 0x09, 0xd6, 0x06, 0xe7, 0x07, | ||
228 | 0x00, 0x00, 0xa8, 0x06, 0xe7, 0x07, 0x6a, 0x04, | ||
229 | 0x02, 0x00, 0xc0, 0x77, 0x02, 0x00, 0x08, 0xc0, | ||
230 | 0xf2, 0x17, 0x01, 0x00, 0x50, 0x00, 0xf2, 0x27, | ||
231 | 0x00, 0x00, 0x52, 0x00, 0x9f, 0xcf, 0x24, 0x06, | ||
232 | 0xc0, 0x77, 0x10, 0x00, 0x06, 0xc0, 0xf2, 0x17, | ||
233 | 0x01, 0x00, 0x58, 0x00, 0xf2, 0x27, 0x00, 0x00, | ||
234 | 0x5a, 0x00, 0xc0, 0x77, 0x80, 0x00, 0x06, 0xc0, | ||
235 | 0xf2, 0x17, 0x01, 0x00, 0x70, 0x00, 0xf2, 0x27, | ||
236 | 0x00, 0x00, 0x72, 0x00, 0xc0, 0x77, 0x08, 0x00, | ||
237 | 0x1d, 0xc1, 0xf2, 0x17, 0x01, 0x00, 0x08, 0x00, | ||
238 | 0xf2, 0x27, 0x00, 0x00, 0x0a, 0x00, 0xc0, 0x77, | ||
239 | 0x00, 0x02, 0x06, 0xc0, 0xf2, 0x17, 0x01, 0x00, | ||
240 | 0x64, 0x00, 0xf2, 0x27, 0x00, 0x00, 0x66, 0x00, | ||
241 | 0xc0, 0x77, 0x40, 0x00, 0x06, 0xc0, 0xf2, 0x17, | ||
242 | 0x01, 0x00, 0x5c, 0x00, 0xf2, 0x27, 0x00, 0x00, | ||
243 | 0x5e, 0x00, 0xc0, 0x77, 0x01, 0x00, 0x01, 0xc0, | ||
244 | 0x1b, 0xcf, 0x1a, 0xcf, 0xf2, 0x17, 0x01, 0x00, | ||
245 | 0x00, 0x00, 0xf2, 0x27, 0x00, 0x00, 0x02, 0x00, | ||
246 | 0xc8, 0x09, 0x34, 0x01, 0xca, 0x17, 0x14, 0x00, | ||
247 | 0xd8, 0x77, 0x01, 0x00, 0x05, 0xc0, 0xca, 0xd9, | ||
248 | 0xd8, 0x57, 0xff, 0x00, 0x01, 0xc0, 0xca, 0xd9, | ||
249 | 0xe2, 0x19, 0x94, 0xc0, 0xe2, 0x27, 0x00, 0x00, | ||
250 | 0xe2, 0x17, 0x01, 0x00, 0xe2, 0x27, 0x00, 0x00, | ||
251 | 0x9f, 0xaf, 0x40, 0x06, 0x9f, 0xaf, 0xc4, 0x01, | ||
252 | 0xe7, 0x57, 0x00, 0x00, 0xd2, 0x06, 0x9f, 0xa1, | ||
253 | 0x0e, 0x0a, 0xca, 0x05, 0xc8, 0x05, 0xc0, 0x05, | ||
254 | 0xe7, 0x05, 0x00, 0xc0, 0xc0, 0xdf, 0x97, 0xcf, | ||
255 | 0xc8, 0x09, 0xa0, 0x06, 0x08, 0x62, 0x97, 0xc0, | ||
256 | 0x27, 0x04, 0xa0, 0x06, 0x27, 0x52, 0xa2, 0x06, | ||
257 | 0x03, 0xc1, 0xe7, 0x07, 0xa0, 0x06, 0xa2, 0x06, | ||
258 | 0x9f, 0xaf, 0x08, 0x03, 0xe7, 0x57, 0x00, 0x00, | ||
259 | 0xaa, 0x06, 0x02, 0xc0, 0x27, 0xda, 0xaa, 0x06, | ||
260 | 0x97, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, | ||
261 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
262 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
263 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
264 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
265 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
266 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
267 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
268 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
269 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
270 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
271 | 0x00, 0x00, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
272 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
273 | 0xff, 0xff, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
274 | 0x00, 0x00, 0xff, 0xff, 0xfb, 0x13, 0xe7, 0x57, | ||
275 | 0x00, 0x80, 0xb2, 0x00, 0x06, 0xc2, 0xe7, 0x07, | ||
276 | 0xee, 0x0b, 0x12, 0x00, 0xe7, 0x07, 0x34, 0x0c, | ||
277 | 0xb2, 0x00, 0xe7, 0x07, 0xc6, 0x07, 0xf2, 0x02, | ||
278 | 0xc8, 0x09, 0xb4, 0x00, 0xf8, 0x07, 0x02, 0x00, | ||
279 | 0x0d, 0x00, 0xd7, 0x09, 0x0e, 0xc0, 0xe7, 0x07, | ||
280 | 0x00, 0x00, 0x0e, 0xc0, 0xc8, 0x09, 0xde, 0x00, | ||
281 | 0xc8, 0x17, 0x09, 0x00, 0xc9, 0x07, 0xda, 0x06, | ||
282 | 0xc0, 0x07, 0x04, 0x00, 0x68, 0x0a, 0x00, 0xda, | ||
283 | 0x7d, 0xc1, 0xe7, 0x09, 0xc0, 0x00, 0x7c, 0x06, | ||
284 | 0xe7, 0x09, 0xbe, 0x00, 0x78, 0x06, 0xe7, 0x09, | ||
285 | 0x10, 0x00, 0xbc, 0x06, 0xc8, 0x07, 0xd6, 0x07, | ||
286 | 0x9f, 0xaf, 0xae, 0x07, 0x9f, 0xaf, 0x00, 0x0a, | ||
287 | 0xc8, 0x09, 0xde, 0x00, 0x00, 0x0e, 0x0f, 0x00, | ||
288 | 0x41, 0x90, 0x9f, 0xde, 0x06, 0x00, 0x44, 0xaf, | ||
289 | 0x27, 0x00, 0xb2, 0x06, 0x27, 0x00, 0xb4, 0x06, | ||
290 | 0x27, 0x00, 0xb6, 0x06, 0xc0, 0x07, 0x74, 0x00, | ||
291 | 0x44, 0xaf, 0x27, 0x00, 0xd6, 0x06, 0x08, 0x00, | ||
292 | 0x00, 0x90, 0xc1, 0x07, 0x3a, 0x00, 0x20, 0x00, | ||
293 | 0x01, 0xda, 0x7d, 0xc1, 0x9f, 0xaf, 0xba, 0x09, | ||
294 | 0xc0, 0x07, 0x44, 0x00, 0x48, 0xaf, 0x27, 0x00, | ||
295 | 0x7a, 0x06, 0x9f, 0xaf, 0x96, 0x0a, 0xe7, 0x07, | ||
296 | 0x01, 0x00, 0xc0, 0x06, 0xe7, 0x05, 0x0e, 0xc0, | ||
297 | 0x97, 0xcf, 0x49, 0xaf, 0xe7, 0x87, 0x43, 0x00, | ||
298 | 0x0e, 0xc0, 0xe7, 0x07, 0xff, 0xff, 0xbe, 0x06, | ||
299 | 0x9f, 0xaf, 0xae, 0x0a, 0xc0, 0x07, 0x01, 0x00, | ||
300 | 0x60, 0xaf, 0x4a, 0xaf, 0x97, 0xcf, 0x00, 0x08, | ||
301 | 0x09, 0x08, 0x11, 0x08, 0x00, 0xda, 0x7c, 0xc1, | ||
302 | 0x97, 0xcf, 0x67, 0x04, 0xcc, 0x02, 0xc0, 0xdf, | ||
303 | 0x51, 0x94, 0xb1, 0xaf, 0x06, 0x00, 0xc1, 0xdf, | ||
304 | 0xc9, 0x09, 0xcc, 0x02, 0x49, 0x62, 0x75, 0xc1, | ||
305 | 0xc0, 0xdf, 0xa7, 0xcf, 0xd6, 0x02, 0x0e, 0x00, | ||
306 | 0x24, 0x00, 0x80, 0x04, 0x22, 0x00, 0x4e, 0x05, | ||
307 | 0xd0, 0x00, 0x0e, 0x0a, 0xaa, 0x00, 0x30, 0x08, | ||
308 | 0xbe, 0x00, 0x4a, 0x0a, 0x10, 0x00, 0x20, 0x00, | ||
309 | 0x04, 0x00, 0x6e, 0x04, 0x02, 0x00, 0x6a, 0x04, | ||
310 | 0x06, 0x00, 0x00, 0x00, 0x24, 0xc0, 0x04, 0x04, | ||
311 | 0x28, 0xc0, 0xfe, 0xfb, 0x1e, 0xc0, 0x00, 0x04, | ||
312 | 0x22, 0xc0, 0xff, 0xf4, 0xc0, 0x00, 0x90, 0x09, | ||
313 | 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x56, 0x08, | ||
314 | 0x60, 0x08, 0xd0, 0x08, 0xda, 0x08, 0x00, 0x09, | ||
315 | 0x04, 0x09, 0x08, 0x09, 0x32, 0x09, 0x42, 0x09, | ||
316 | 0x50, 0x09, 0x52, 0x09, 0x5a, 0x09, 0x5a, 0x09, | ||
317 | 0x27, 0x02, 0xca, 0x06, 0x97, 0xcf, 0xe7, 0x07, | ||
318 | 0x00, 0x00, 0xca, 0x06, 0x0a, 0x0e, 0x01, 0x00, | ||
319 | 0xca, 0x57, 0x0e, 0x00, 0x9f, 0xc3, 0x5a, 0x09, | ||
320 | 0xca, 0x37, 0x00, 0x00, 0x9f, 0xc2, 0x5a, 0x09, | ||
321 | 0x0a, 0xd2, 0xb2, 0xcf, 0x16, 0x08, 0xc8, 0x09, | ||
322 | 0xde, 0x00, 0x07, 0x06, 0x9f, 0xcf, 0x6c, 0x09, | ||
323 | 0x17, 0x02, 0xc8, 0x09, 0xde, 0x00, 0x00, 0x0e, | ||
324 | 0x0f, 0x00, 0x41, 0x90, 0x9f, 0xde, 0x06, 0x00, | ||
325 | 0xc8, 0x05, 0x30, 0x50, 0x06, 0x00, 0x9f, 0xc8, | ||
326 | 0x5a, 0x09, 0x27, 0x0c, 0x02, 0x00, 0xb0, 0x06, | ||
327 | 0xc0, 0x09, 0xb2, 0x06, 0x27, 0x00, 0xb4, 0x06, | ||
328 | 0xe7, 0x07, 0x00, 0x00, 0xae, 0x06, 0x27, 0x00, | ||
329 | 0x80, 0x06, 0x00, 0x1c, 0x06, 0x00, 0x27, 0x00, | ||
330 | 0xb6, 0x06, 0x41, 0x90, 0x67, 0x50, 0xb0, 0x06, | ||
331 | 0x0d, 0xc0, 0x67, 0x00, 0x7e, 0x06, 0x27, 0x0c, | ||
332 | 0x06, 0x00, 0x82, 0x06, 0xe7, 0x07, 0xbc, 0x08, | ||
333 | 0x84, 0x06, 0xc8, 0x07, 0x7e, 0x06, 0x41, 0x90, | ||
334 | 0x51, 0xaf, 0x97, 0xcf, 0x9f, 0xaf, 0x48, 0x0c, | ||
335 | 0xe7, 0x09, 0xb6, 0x06, 0xb4, 0x06, 0xe7, 0x09, | ||
336 | 0xb0, 0x06, 0xae, 0x06, 0x59, 0xaf, 0x97, 0xcf, | ||
337 | 0x27, 0x0c, 0x02, 0x00, 0xac, 0x06, 0x59, 0xaf, | ||
338 | 0x97, 0xcf, 0x09, 0x0c, 0x02, 0x00, 0x09, 0xda, | ||
339 | 0x49, 0xd2, 0xc9, 0x19, 0xd6, 0x06, 0xc8, 0x07, | ||
340 | 0x7e, 0x06, 0xe0, 0x07, 0x00, 0x00, 0x60, 0x02, | ||
341 | 0xe0, 0x07, 0x04, 0x00, 0xd0, 0x07, 0xcc, 0x08, | ||
342 | 0x48, 0xdb, 0x41, 0x90, 0x50, 0xaf, 0x97, 0xcf, | ||
343 | 0x59, 0xaf, 0x97, 0xcf, 0x59, 0xaf, 0x97, 0xcf, | ||
344 | 0xf0, 0x57, 0x06, 0x00, 0x06, 0x00, 0x25, 0xc1, | ||
345 | 0xe7, 0x07, 0x70, 0x06, 0x80, 0x06, 0x41, 0x90, | ||
346 | 0x67, 0x00, 0x7e, 0x06, 0x27, 0x0c, 0x06, 0x00, | ||
347 | 0x82, 0x06, 0xe7, 0x07, 0x8c, 0x09, 0x84, 0x06, | ||
348 | 0xc8, 0x07, 0x7e, 0x06, 0x41, 0x90, 0x51, 0xaf, | ||
349 | 0x97, 0xcf, 0x07, 0x0c, 0x06, 0x00, 0xc7, 0x57, | ||
350 | 0x06, 0x00, 0x0f, 0xc1, 0xc8, 0x07, 0x70, 0x06, | ||
351 | 0x15, 0xcf, 0x00, 0x0c, 0x02, 0x00, 0x00, 0xda, | ||
352 | 0x40, 0xd1, 0x27, 0x00, 0xc2, 0x06, 0x1e, 0xcf, | ||
353 | 0x1d, 0xcf, 0x27, 0x0c, 0x02, 0x00, 0xcc, 0x06, | ||
354 | 0x19, 0xcf, 0x27, 0x02, 0x20, 0x01, 0xe7, 0x07, | ||
355 | 0x08, 0x00, 0x22, 0x01, 0xe7, 0x07, 0x13, 0x00, | ||
356 | 0xb0, 0xc0, 0x97, 0xcf, 0x41, 0x90, 0x67, 0x00, | ||
357 | 0x7e, 0x06, 0xe7, 0x01, 0x82, 0x06, 0x27, 0x02, | ||
358 | 0x80, 0x06, 0xe7, 0x07, 0x8c, 0x09, 0x84, 0x06, | ||
359 | 0xc8, 0x07, 0x7e, 0x06, 0xc1, 0x07, 0x00, 0x80, | ||
360 | 0x50, 0xaf, 0x97, 0xcf, 0x59, 0xaf, 0x97, 0xcf, | ||
361 | 0x00, 0x60, 0x05, 0xc0, 0xe7, 0x07, 0x00, 0x00, | ||
362 | 0xc4, 0x06, 0xa7, 0xcf, 0x7c, 0x06, 0x9f, 0xaf, | ||
363 | 0x00, 0x0a, 0xe7, 0x07, 0x01, 0x00, 0xc4, 0x06, | ||
364 | 0x49, 0xaf, 0xd7, 0x09, 0x00, 0xc0, 0x07, 0xaf, | ||
365 | 0xe7, 0x05, 0x00, 0xc0, 0x4a, 0xaf, 0xa7, 0xcf, | ||
366 | 0x7c, 0x06, 0xc0, 0x07, 0xfe, 0x7f, 0x44, 0xaf, | ||
367 | 0x40, 0x00, 0xc0, 0x37, 0x00, 0x01, 0x41, 0x90, | ||
368 | 0xc0, 0x37, 0x08, 0x00, 0xdf, 0xde, 0x50, 0x06, | ||
369 | 0xc0, 0x57, 0x10, 0x00, 0x02, 0xc2, 0xc0, 0x07, | ||
370 | 0x10, 0x00, 0x27, 0x00, 0x9a, 0x06, 0x41, 0x90, | ||
371 | 0x9f, 0xde, 0x40, 0x06, 0x44, 0xaf, 0x27, 0x00, | ||
372 | 0x9c, 0x06, 0xc0, 0x09, 0x9a, 0x06, 0x41, 0x90, | ||
373 | 0x00, 0xd2, 0x00, 0xd8, 0x9f, 0xde, 0x08, 0x00, | ||
374 | 0x44, 0xaf, 0x27, 0x00, 0xc8, 0x06, 0x97, 0xcf, | ||
375 | 0xe7, 0x87, 0x00, 0x84, 0x28, 0xc0, 0xe7, 0x67, | ||
376 | 0xff, 0xfb, 0x24, 0xc0, 0x97, 0xcf, 0xe7, 0x87, | ||
377 | 0x01, 0x00, 0xd2, 0x06, 0xe7, 0x57, 0x00, 0x00, | ||
378 | 0xa8, 0x06, 0x97, 0xc1, 0x9f, 0xaf, 0x00, 0x0a, | ||
379 | 0xe7, 0x87, 0x00, 0x06, 0x22, 0xc0, 0xe7, 0x07, | ||
380 | 0x00, 0x00, 0x90, 0xc0, 0xe7, 0x67, 0xfe, 0xff, | ||
381 | 0x3e, 0xc0, 0xe7, 0x07, 0x26, 0x00, 0x0a, 0xc0, | ||
382 | 0xe7, 0x87, 0x01, 0x00, 0x3e, 0xc0, 0xe7, 0x07, | ||
383 | 0xff, 0xff, 0xbe, 0x06, 0x9f, 0xaf, 0x10, 0x0b, | ||
384 | 0x97, 0xcf, 0x17, 0x00, 0xa7, 0xaf, 0x78, 0x06, | ||
385 | 0xc0, 0x05, 0x27, 0x00, 0x76, 0x06, 0xe7, 0x87, | ||
386 | 0x01, 0x00, 0xd2, 0x06, 0x9f, 0xaf, 0x00, 0x0a, | ||
387 | 0xe7, 0x07, 0x0c, 0x00, 0x40, 0xc0, 0x9f, 0xaf, | ||
388 | 0x10, 0x0b, 0x00, 0x90, 0x27, 0x00, 0xa6, 0x06, | ||
389 | 0x27, 0x00, 0xaa, 0x06, 0xe7, 0x09, 0xb2, 0x06, | ||
390 | 0xb4, 0x06, 0x27, 0x00, 0xae, 0x06, 0x27, 0x00, | ||
391 | 0xac, 0x06, 0x9f, 0xaf, 0xae, 0x0a, 0xc0, 0x07, | ||
392 | 0x00, 0x00, 0x27, 0x00, 0xb2, 0x02, 0x27, 0x00, | ||
393 | 0xb4, 0x02, 0x27, 0x00, 0x8e, 0x06, 0xc0, 0x07, | ||
394 | 0x06, 0x00, 0xc8, 0x09, 0xde, 0x00, 0xc8, 0x17, | ||
395 | 0x03, 0x00, 0xc9, 0x07, 0x70, 0x06, 0x29, 0x0a, | ||
396 | 0x00, 0xda, 0x7d, 0xc1, 0x97, 0xcf, 0xd7, 0x09, | ||
397 | 0x00, 0xc0, 0xc1, 0xdf, 0x00, 0x90, 0x27, 0x00, | ||
398 | 0x96, 0x06, 0xe7, 0x07, 0x96, 0x06, 0x98, 0x06, | ||
399 | 0x27, 0x00, 0xa0, 0x06, 0xe7, 0x07, 0xa0, 0x06, | ||
400 | 0xa2, 0x06, 0x27, 0x00, 0xa6, 0x06, 0x27, 0x00, | ||
401 | 0x90, 0x06, 0x27, 0x00, 0x9e, 0x06, 0xc8, 0x09, | ||
402 | 0x9c, 0x06, 0xc1, 0x09, 0x9a, 0x06, 0xc9, 0x07, | ||
403 | 0xa4, 0x06, 0x11, 0x02, 0x09, 0x02, 0xc8, 0x17, | ||
404 | 0x40, 0x06, 0x01, 0xda, 0x7a, 0xc1, 0x51, 0x94, | ||
405 | 0xc8, 0x09, 0xc8, 0x06, 0xc9, 0x07, 0xc6, 0x06, | ||
406 | 0xc1, 0x09, 0x9a, 0x06, 0x11, 0x02, 0x09, 0x02, | ||
407 | 0xc8, 0x17, 0x08, 0x00, 0x01, 0xda, 0x7a, 0xc1, | ||
408 | 0x51, 0x94, 0xe7, 0x05, 0x00, 0xc0, 0x97, 0xcf, | ||
409 | 0xe7, 0x57, 0x00, 0x00, 0x76, 0x06, 0x97, 0xc0, | ||
410 | 0x9f, 0xaf, 0x04, 0x00, 0xe7, 0x09, 0xbe, 0x06, | ||
411 | 0xba, 0x06, 0xe7, 0x57, 0xff, 0xff, 0xba, 0x06, | ||
412 | 0x04, 0xc1, 0xe7, 0x07, 0x10, 0x0b, 0xb8, 0x06, | ||
413 | 0x97, 0xcf, 0xe7, 0x17, 0x32, 0x00, 0xba, 0x06, | ||
414 | 0xe7, 0x67, 0xff, 0x07, 0xba, 0x06, 0xe7, 0x07, | ||
415 | 0x46, 0x0b, 0xb8, 0x06, 0x97, 0xcf, 0xe7, 0x57, | ||
416 | 0x00, 0x00, 0xc0, 0x06, 0x23, 0xc0, 0xe7, 0x07, | ||
417 | 0x04, 0x00, 0x90, 0xc0, 0xe7, 0x07, 0x00, 0x80, | ||
418 | 0x80, 0xc0, 0xe7, 0x07, 0x00, 0x00, 0x80, 0xc0, | ||
419 | 0xe7, 0x07, 0x00, 0x80, 0x80, 0xc0, 0xc0, 0x07, | ||
420 | 0x00, 0x00, 0xc0, 0x07, 0x00, 0x00, 0xc0, 0x07, | ||
421 | 0x00, 0x00, 0xe7, 0x07, 0x00, 0x00, 0x80, 0xc0, | ||
422 | 0xe7, 0x07, 0x00, 0x80, 0x80, 0xc0, 0xe7, 0x07, | ||
423 | 0x00, 0x80, 0x40, 0xc0, 0xc0, 0x07, 0x00, 0x00, | ||
424 | 0xe7, 0x07, 0x00, 0x00, 0x40, 0xc0, 0xe7, 0x07, | ||
425 | 0x00, 0x00, 0x80, 0xc0, 0xe7, 0x07, 0x04, 0x00, | ||
426 | 0x90, 0xc0, 0xe7, 0x07, 0x00, 0x02, 0x40, 0xc0, | ||
427 | 0xe7, 0x07, 0x0c, 0x02, 0x40, 0xc0, 0xe7, 0x07, | ||
428 | 0x00, 0x00, 0xc0, 0x06, 0xe7, 0x07, 0x00, 0x00, | ||
429 | 0xb8, 0x06, 0xe7, 0x07, 0x00, 0x00, 0xd2, 0x06, | ||
430 | 0xd7, 0x09, 0x00, 0xc0, 0xc1, 0xdf, 0x9f, 0xaf, | ||
431 | 0x34, 0x02, 0xe7, 0x05, 0x00, 0xc0, 0x9f, 0xaf, | ||
432 | 0xc4, 0x01, 0x97, 0xcf, 0xd7, 0x09, 0x00, 0xc0, | ||
433 | 0x17, 0x00, 0x17, 0x02, 0x97, 0x02, 0xe7, 0x57, | ||
434 | 0x00, 0x00, 0xa8, 0x06, 0x06, 0xc0, 0xc0, 0x09, | ||
435 | 0x92, 0xc0, 0xc0, 0x77, 0x09, 0x02, 0x9f, 0xc1, | ||
436 | 0x5c, 0x05, 0x9f, 0xcf, 0x32, 0x06, 0xd7, 0x09, | ||
437 | 0x0e, 0xc0, 0xe7, 0x07, 0x00, 0x00, 0x0e, 0xc0, | ||
438 | 0x9f, 0xaf, 0x02, 0x0c, 0xe7, 0x05, 0x0e, 0xc0, | ||
439 | 0x97, 0xcf, 0xd7, 0x09, 0x00, 0xc0, 0x17, 0x02, | ||
440 | 0xc8, 0x09, 0xb0, 0xc0, 0xe7, 0x67, 0xfe, 0x7f, | ||
441 | 0xb0, 0xc0, 0xc8, 0x77, 0x00, 0x20, 0x9f, 0xc1, | ||
442 | 0x64, 0xeb, 0xe7, 0x57, 0x00, 0x00, 0xc8, 0x02, | ||
443 | 0x9f, 0xc1, 0x80, 0xeb, 0xc8, 0x99, 0xca, 0x02, | ||
444 | 0xc8, 0x67, 0x04, 0x00, 0x9f, 0xc1, 0x96, 0xeb, | ||
445 | 0x9f, 0xcf, 0x4c, 0xeb, 0xe7, 0x07, 0x00, 0x00, | ||
446 | 0xa6, 0xc0, 0xe7, 0x09, 0xb0, 0xc0, 0xc8, 0x02, | ||
447 | 0xe7, 0x07, 0x03, 0x00, 0xb0, 0xc0, 0x97, 0xcf, | ||
448 | 0xc0, 0x09, 0xb0, 0x06, 0xc0, 0x37, 0x01, 0x00, | ||
449 | 0x97, 0xc9, 0xc9, 0x09, 0xb2, 0x06, 0x02, 0x00, | ||
450 | 0x41, 0x90, 0x48, 0x02, 0xc9, 0x17, 0x06, 0x00, | ||
451 | 0x9f, 0xaf, 0x08, 0x04, 0x9f, 0xa2, 0x72, 0x0c, | ||
452 | 0x02, 0xda, 0x77, 0xc1, 0x41, 0x60, 0x71, 0xc1, | ||
453 | 0x97, 0xcf, 0x17, 0x02, 0x57, 0x02, 0x43, 0x04, | ||
454 | 0x21, 0x04, 0xe0, 0x00, 0x43, 0x04, 0x21, 0x04, | ||
455 | 0xe0, 0x00, 0x43, 0x04, 0x21, 0x04, 0xe0, 0x00, | ||
456 | 0xc1, 0x07, 0x01, 0x00, 0xc9, 0x05, 0xc8, 0x05, | ||
457 | 0x97, 0xcf, 0xe7, 0x07, 0x01, 0x00, 0x8e, 0x06, | ||
458 | 0xc8, 0x07, 0x86, 0x06, 0xe7, 0x07, 0x00, 0x00, | ||
459 | 0x86, 0x06, 0xe7, 0x07, 0x10, 0x08, 0x88, 0x06, | ||
460 | 0xe7, 0x07, 0x04, 0x00, 0x8a, 0x06, 0xe7, 0x07, | ||
461 | 0xbc, 0x0c, 0x8c, 0x06, 0xc1, 0x07, 0x03, 0x80, | ||
462 | 0x50, 0xaf, 0x97, 0xcf, 0xe7, 0x07, 0x00, 0x00, | ||
463 | 0x8e, 0x06, 0x97, 0xcf, | ||
464 | 0x00, 0x00 | ||
465 | }; | ||
466 | |||
467 | /**************************************************************** | ||
468 | * kaweth_new_code_fix | ||
469 | ****************************************************************/ | ||
470 | static __u8 kaweth_new_code_fix[] = | ||
471 | { | ||
472 | 0xB6, 0xC3, 0xAA, 0xBB, 0xCC, 0xDD, | ||
473 | 0x02, 0x00, 0x08, 0x00, 0x28, 0x00, 0x2c, 0x00, | ||
474 | 0x34, 0x00, 0x3c, 0x00, 0x40, 0x00, 0x48, 0x00, | ||
475 | 0x54, 0x00, 0x58, 0x00, 0x5e, 0x00, 0x64, 0x00, | ||
476 | 0x68, 0x00, 0x6e, 0x00, 0x6c, 0x00, 0x72, 0x00, | ||
477 | 0x76, 0x00, 0x7c, 0x00, 0x80, 0x00, 0x86, 0x00, | ||
478 | 0x8a, 0x00, 0x90, 0x00, 0x94, 0x00, 0x98, 0x00, | ||
479 | 0x9e, 0x00, 0xa6, 0x00, 0xaa, 0x00, 0xb0, 0x00, | ||
480 | 0xb4, 0x00, 0xb8, 0x00, 0xc0, 0x00, 0xc6, 0x00, | ||
481 | 0xca, 0x00, 0xd0, 0x00, 0xd4, 0x00, 0xd8, 0x00, | ||
482 | 0xe0, 0x00, 0xde, 0x00, 0xe8, 0x00, 0xf0, 0x00, | ||
483 | 0xfc, 0x00, 0x04, 0x01, 0x0a, 0x01, 0x18, 0x01, | ||
484 | 0x22, 0x01, 0x28, 0x01, 0x3a, 0x01, 0x3e, 0x01, | ||
485 | 0x7e, 0x01, 0x98, 0x01, 0x9c, 0x01, 0xa2, 0x01, | ||
486 | 0xac, 0x01, 0xb2, 0x01, 0xba, 0x01, 0xc0, 0x01, | ||
487 | 0xc8, 0x01, 0xd0, 0x01, 0xd6, 0x01, 0xf4, 0x01, | ||
488 | 0xfc, 0x01, 0x08, 0x02, 0x16, 0x02, 0x1a, 0x02, | ||
489 | 0x22, 0x02, 0x2a, 0x02, 0x2e, 0x02, 0x3e, 0x02, | ||
490 | 0x44, 0x02, 0x4a, 0x02, 0x50, 0x02, 0x64, 0x02, | ||
491 | 0x62, 0x02, 0x6c, 0x02, 0x72, 0x02, 0x86, 0x02, | ||
492 | 0x8c, 0x02, 0x90, 0x02, 0x9e, 0x02, 0xbc, 0x02, | ||
493 | 0xd0, 0x02, 0xd8, 0x02, 0xdc, 0x02, 0xe0, 0x02, | ||
494 | 0xe8, 0x02, 0xe6, 0x02, 0xf4, 0x02, 0xfe, 0x02, | ||
495 | 0x04, 0x03, 0x0c, 0x03, 0x28, 0x03, 0x7c, 0x03, | ||
496 | 0x90, 0x03, 0x94, 0x03, 0x9c, 0x03, 0xa2, 0x03, | ||
497 | 0xc0, 0x03, 0xd0, 0x03, 0xd4, 0x03, 0xee, 0x03, | ||
498 | 0xfa, 0x03, 0xfe, 0x03, 0x2e, 0x04, 0x32, 0x04, | ||
499 | 0x3c, 0x04, 0x40, 0x04, 0x4e, 0x04, 0x76, 0x04, | ||
500 | 0x7c, 0x04, 0x84, 0x04, 0x8a, 0x04, 0x8e, 0x04, | ||
501 | 0xa6, 0x04, 0xb0, 0x04, 0xb8, 0x04, 0xbe, 0x04, | ||
502 | 0xd2, 0x04, 0xdc, 0x04, 0xee, 0x04, 0x10, 0x05, | ||
503 | 0x1a, 0x05, 0x24, 0x05, 0x2a, 0x05, 0x36, 0x05, | ||
504 | 0x34, 0x05, 0x3c, 0x05, 0x42, 0x05, 0x64, 0x05, | ||
505 | 0x6a, 0x05, 0x6e, 0x05, 0x86, 0x05, 0x22, 0x06, | ||
506 | 0x26, 0x06, 0x2c, 0x06, 0x30, 0x06, 0x42, 0x06, | ||
507 | 0x4a, 0x06, 0x4e, 0x06, 0x56, 0x06, 0x54, 0x06, | ||
508 | 0x5a, 0x06, 0x60, 0x06, 0x66, 0x06, 0xe8, 0x06, | ||
509 | 0xee, 0x06, 0xf4, 0x06, 0x16, 0x07, 0x26, 0x07, | ||
510 | 0x2c, 0x07, 0x32, 0x07, 0x36, 0x07, 0x3a, 0x07, | ||
511 | 0x3e, 0x07, 0x52, 0x07, 0x56, 0x07, 0x5a, 0x07, | ||
512 | 0x64, 0x07, 0x76, 0x07, 0x7a, 0x07, 0x80, 0x07, | ||
513 | 0x84, 0x07, 0x8a, 0x07, 0x9e, 0x07, 0xa2, 0x07, | ||
514 | 0xda, 0x07, 0xde, 0x07, 0xe2, 0x07, 0xe6, 0x07, | ||
515 | 0xea, 0x07, 0xee, 0x07, 0xf2, 0x07, 0xf6, 0x07, | ||
516 | 0x0e, 0x08, 0x16, 0x08, 0x18, 0x08, 0x1a, 0x08, | ||
517 | 0x1c, 0x08, 0x1e, 0x08, 0x20, 0x08, 0x22, 0x08, | ||
518 | 0x24, 0x08, 0x26, 0x08, 0x28, 0x08, 0x2a, 0x08, | ||
519 | 0x2c, 0x08, 0x2e, 0x08, 0x32, 0x08, 0x3a, 0x08, | ||
520 | 0x46, 0x08, 0x4e, 0x08, 0x54, 0x08, 0x5e, 0x08, | ||
521 | 0x78, 0x08, 0x7e, 0x08, 0x82, 0x08, 0x86, 0x08, | ||
522 | 0x8c, 0x08, 0x90, 0x08, 0x98, 0x08, 0x9e, 0x08, | ||
523 | 0xa4, 0x08, 0xaa, 0x08, 0xb0, 0x08, 0xae, 0x08, | ||
524 | 0xb4, 0x08, 0xbe, 0x08, 0xc4, 0x08, 0xc2, 0x08, | ||
525 | 0xca, 0x08, 0xc8, 0x08, 0xd4, 0x08, 0xe4, 0x08, | ||
526 | 0xe8, 0x08, 0xf6, 0x08, 0x14, 0x09, 0x12, 0x09, | ||
527 | 0x1a, 0x09, 0x20, 0x09, 0x26, 0x09, 0x24, 0x09, | ||
528 | 0x2a, 0x09, 0x3e, 0x09, 0x4c, 0x09, 0x56, 0x09, | ||
529 | 0x70, 0x09, 0x74, 0x09, 0x78, 0x09, 0x7e, 0x09, | ||
530 | 0x7c, 0x09, 0x82, 0x09, 0x98, 0x09, 0x9c, 0x09, | ||
531 | 0xa0, 0x09, 0xa6, 0x09, 0xb8, 0x09, 0xdc, 0x09, | ||
532 | 0xe8, 0x09, 0xec, 0x09, 0xfc, 0x09, 0x12, 0x0a, | ||
533 | 0x18, 0x0a, 0x1e, 0x0a, 0x42, 0x0a, 0x46, 0x0a, | ||
534 | 0x4e, 0x0a, 0x54, 0x0a, 0x5a, 0x0a, 0x5e, 0x0a, | ||
535 | 0x68, 0x0a, 0x6e, 0x0a, 0x72, 0x0a, 0x78, 0x0a, | ||
536 | 0x76, 0x0a, 0x7c, 0x0a, 0x80, 0x0a, 0x84, 0x0a, | ||
537 | 0x94, 0x0a, 0xa4, 0x0a, 0xb8, 0x0a, 0xbe, 0x0a, | ||
538 | 0xbc, 0x0a, 0xc2, 0x0a, 0xc8, 0x0a, 0xc6, 0x0a, | ||
539 | 0xcc, 0x0a, 0xd0, 0x0a, 0xd4, 0x0a, 0xd8, 0x0a, | ||
540 | 0xdc, 0x0a, 0xe0, 0x0a, 0xf2, 0x0a, 0xf6, 0x0a, | ||
541 | 0xfa, 0x0a, 0x14, 0x0b, 0x1a, 0x0b, 0x20, 0x0b, | ||
542 | 0x1e, 0x0b, 0x26, 0x0b, 0x2e, 0x0b, 0x2c, 0x0b, | ||
543 | 0x36, 0x0b, 0x3c, 0x0b, 0x42, 0x0b, 0x40, 0x0b, | ||
544 | 0x4a, 0x0b, 0xaa, 0x0b, 0xb0, 0x0b, 0xb6, 0x0b, | ||
545 | 0xc0, 0x0b, 0xc8, 0x0b, 0xda, 0x0b, 0xe8, 0x0b, | ||
546 | 0xec, 0x0b, 0xfa, 0x0b, 0x4a, 0x0c, 0x54, 0x0c, | ||
547 | 0x62, 0x0c, 0x66, 0x0c, 0x96, 0x0c, 0x9a, 0x0c, | ||
548 | 0xa0, 0x0c, 0xa6, 0x0c, 0xa4, 0x0c, 0xac, 0x0c, | ||
549 | 0xb2, 0x0c, 0xb0, 0x0c, 0xc0, 0x0c, | ||
550 | 0x00, 0x00 | ||
551 | }; | ||
552 | |||
553 | |||
554 | static const int len_kaweth_trigger_code = sizeof(kaweth_trigger_code); | ||
555 | static const int len_kaweth_trigger_code_fix = sizeof(kaweth_trigger_code_fix); | ||
556 | static const int len_kaweth_new_code = sizeof(kaweth_new_code); | ||
557 | static const int len_kaweth_new_code_fix = sizeof(kaweth_new_code_fix); | ||
diff --git a/drivers/net/wan/cosa.c b/drivers/net/wan/cosa.c index b0fce1387eaf..5827324e9d9f 100644 --- a/drivers/net/wan/cosa.c +++ b/drivers/net/wan/cosa.c | |||
@@ -92,6 +92,7 @@ | |||
92 | #include <linux/spinlock.h> | 92 | #include <linux/spinlock.h> |
93 | #include <linux/mutex.h> | 93 | #include <linux/mutex.h> |
94 | #include <linux/device.h> | 94 | #include <linux/device.h> |
95 | #include <linux/smp_lock.h> | ||
95 | 96 | ||
96 | #undef COSA_SLOW_IO /* for testing purposes only */ | 97 | #undef COSA_SLOW_IO /* for testing purposes only */ |
97 | 98 | ||
@@ -970,15 +971,21 @@ static int cosa_open(struct inode *inode, struct file *file) | |||
970 | struct channel_data *chan; | 971 | struct channel_data *chan; |
971 | unsigned long flags; | 972 | unsigned long flags; |
972 | int n; | 973 | int n; |
974 | int ret = 0; | ||
973 | 975 | ||
976 | lock_kernel(); | ||
974 | if ((n=iminor(file->f_path.dentry->d_inode)>>CARD_MINOR_BITS) | 977 | if ((n=iminor(file->f_path.dentry->d_inode)>>CARD_MINOR_BITS) |
975 | >= nr_cards) | 978 | >= nr_cards) { |
976 | return -ENODEV; | 979 | ret = -ENODEV; |
980 | goto out; | ||
981 | } | ||
977 | cosa = cosa_cards+n; | 982 | cosa = cosa_cards+n; |
978 | 983 | ||
979 | if ((n=iminor(file->f_path.dentry->d_inode) | 984 | if ((n=iminor(file->f_path.dentry->d_inode) |
980 | & ((1<<CARD_MINOR_BITS)-1)) >= cosa->nchannels) | 985 | & ((1<<CARD_MINOR_BITS)-1)) >= cosa->nchannels) { |
981 | return -ENODEV; | 986 | ret = -ENODEV; |
987 | goto out; | ||
988 | } | ||
982 | chan = cosa->chan + n; | 989 | chan = cosa->chan + n; |
983 | 990 | ||
984 | file->private_data = chan; | 991 | file->private_data = chan; |
@@ -987,7 +994,8 @@ static int cosa_open(struct inode *inode, struct file *file) | |||
987 | 994 | ||
988 | if (chan->usage < 0) { /* in netdev mode */ | 995 | if (chan->usage < 0) { /* in netdev mode */ |
989 | spin_unlock_irqrestore(&cosa->lock, flags); | 996 | spin_unlock_irqrestore(&cosa->lock, flags); |
990 | return -EBUSY; | 997 | ret = -EBUSY; |
998 | goto out; | ||
991 | } | 999 | } |
992 | cosa->usage++; | 1000 | cosa->usage++; |
993 | chan->usage++; | 1001 | chan->usage++; |
@@ -996,7 +1004,9 @@ static int cosa_open(struct inode *inode, struct file *file) | |||
996 | chan->setup_rx = chrdev_setup_rx; | 1004 | chan->setup_rx = chrdev_setup_rx; |
997 | chan->rx_done = chrdev_rx_done; | 1005 | chan->rx_done = chrdev_rx_done; |
998 | spin_unlock_irqrestore(&cosa->lock, flags); | 1006 | spin_unlock_irqrestore(&cosa->lock, flags); |
999 | return 0; | 1007 | out: |
1008 | unlock_kernel(); | ||
1009 | return ret; | ||
1000 | } | 1010 | } |
1001 | 1011 | ||
1002 | static int cosa_release(struct inode *inode, struct file *file) | 1012 | static int cosa_release(struct inode *inode, struct file *file) |
diff --git a/drivers/net/wan/hdlc_fr.c b/drivers/net/wan/hdlc_fr.c index 520bb0b1a9a2..6d35155c7145 100644 --- a/drivers/net/wan/hdlc_fr.c +++ b/drivers/net/wan/hdlc_fr.c | |||
@@ -1008,6 +1008,7 @@ static int fr_rx(struct sk_buff *skb) | |||
1008 | stats->rx_bytes += skb->len; | 1008 | stats->rx_bytes += skb->len; |
1009 | if (pvc->state.becn) | 1009 | if (pvc->state.becn) |
1010 | stats->rx_compressed++; | 1010 | stats->rx_compressed++; |
1011 | skb->dev = dev; | ||
1011 | netif_rx(skb); | 1012 | netif_rx(skb); |
1012 | return NET_RX_SUCCESS; | 1013 | return NET_RX_SUCCESS; |
1013 | } else { | 1014 | } else { |
diff --git a/drivers/net/wireless/atmel.c b/drivers/net/wireless/atmel.c index 438e63ecccf1..d1acef7e0b14 100644 --- a/drivers/net/wireless/atmel.c +++ b/drivers/net/wireless/atmel.c | |||
@@ -560,7 +560,7 @@ static const struct { | |||
560 | static void build_wpa_mib(struct atmel_private *priv); | 560 | static void build_wpa_mib(struct atmel_private *priv); |
561 | static int atmel_ioctl(struct net_device *dev, struct ifreq *rq, int cmd); | 561 | static int atmel_ioctl(struct net_device *dev, struct ifreq *rq, int cmd); |
562 | static void atmel_copy_to_card(struct net_device *dev, u16 dest, | 562 | static void atmel_copy_to_card(struct net_device *dev, u16 dest, |
563 | unsigned char *src, u16 len); | 563 | const unsigned char *src, u16 len); |
564 | static void atmel_copy_to_host(struct net_device *dev, unsigned char *dest, | 564 | static void atmel_copy_to_host(struct net_device *dev, unsigned char *dest, |
565 | u16 src, u16 len); | 565 | u16 src, u16 len); |
566 | static void atmel_set_gcr(struct net_device *dev, u16 mask); | 566 | static void atmel_set_gcr(struct net_device *dev, u16 mask); |
@@ -3853,7 +3853,7 @@ static int reset_atmel_card(struct net_device *dev) | |||
3853 | if (priv->card_type == CARD_TYPE_EEPROM) { | 3853 | if (priv->card_type == CARD_TYPE_EEPROM) { |
3854 | /* copy in firmware if needed */ | 3854 | /* copy in firmware if needed */ |
3855 | const struct firmware *fw_entry = NULL; | 3855 | const struct firmware *fw_entry = NULL; |
3856 | unsigned char *fw; | 3856 | const unsigned char *fw; |
3857 | int len = priv->firmware_length; | 3857 | int len = priv->firmware_length; |
3858 | if (!(fw = priv->firmware)) { | 3858 | if (!(fw = priv->firmware)) { |
3859 | if (priv->firmware_type == ATMEL_FW_TYPE_NONE) { | 3859 | if (priv->firmware_type == ATMEL_FW_TYPE_NONE) { |
@@ -4120,7 +4120,7 @@ static void atmel_writeAR(struct net_device *dev, u16 data) | |||
4120 | } | 4120 | } |
4121 | 4121 | ||
4122 | static void atmel_copy_to_card(struct net_device *dev, u16 dest, | 4122 | static void atmel_copy_to_card(struct net_device *dev, u16 dest, |
4123 | unsigned char *src, u16 len) | 4123 | const unsigned char *src, u16 len) |
4124 | { | 4124 | { |
4125 | int i; | 4125 | int i; |
4126 | atmel_writeAR(dev, dest); | 4126 | atmel_writeAR(dev, dest); |
diff --git a/drivers/net/wireless/hostap/hostap_cs.c b/drivers/net/wireless/hostap/hostap_cs.c index 80039a0ae027..3b4e55cf33cd 100644 --- a/drivers/net/wireless/hostap/hostap_cs.c +++ b/drivers/net/wireless/hostap/hostap_cs.c | |||
@@ -777,8 +777,10 @@ static int hostap_cs_suspend(struct pcmcia_device *link) | |||
777 | int dev_open = 0; | 777 | int dev_open = 0; |
778 | struct hostap_interface *iface = NULL; | 778 | struct hostap_interface *iface = NULL; |
779 | 779 | ||
780 | if (dev) | 780 | if (!dev) |
781 | iface = netdev_priv(dev); | 781 | return -ENODEV; |
782 | |||
783 | iface = netdev_priv(dev); | ||
782 | 784 | ||
783 | PDEBUG(DEBUG_EXTRA, "%s: CS_EVENT_PM_SUSPEND\n", dev_info); | 785 | PDEBUG(DEBUG_EXTRA, "%s: CS_EVENT_PM_SUSPEND\n", dev_info); |
784 | if (iface && iface->local) | 786 | if (iface && iface->local) |
@@ -798,8 +800,10 @@ static int hostap_cs_resume(struct pcmcia_device *link) | |||
798 | int dev_open = 0; | 800 | int dev_open = 0; |
799 | struct hostap_interface *iface = NULL; | 801 | struct hostap_interface *iface = NULL; |
800 | 802 | ||
801 | if (dev) | 803 | if (!dev) |
802 | iface = netdev_priv(dev); | 804 | return -ENODEV; |
805 | |||
806 | iface = netdev_priv(dev); | ||
803 | 807 | ||
804 | PDEBUG(DEBUG_EXTRA, "%s: CS_EVENT_PM_RESUME\n", dev_info); | 808 | PDEBUG(DEBUG_EXTRA, "%s: CS_EVENT_PM_RESUME\n", dev_info); |
805 | 809 | ||
diff --git a/drivers/net/wireless/iwlwifi/iwl-3945.c b/drivers/net/wireless/iwlwifi/iwl-3945.c index 62a3d8f8563e..55ac850744b3 100644 --- a/drivers/net/wireless/iwlwifi/iwl-3945.c +++ b/drivers/net/wireless/iwlwifi/iwl-3945.c | |||
@@ -449,7 +449,7 @@ static void iwl3945_dbg_report_frame(struct iwl3945_priv *priv, | |||
449 | 449 | ||
450 | if (print_summary) { | 450 | if (print_summary) { |
451 | char *title; | 451 | char *title; |
452 | u32 rate; | 452 | int rate; |
453 | 453 | ||
454 | if (hundred) | 454 | if (hundred) |
455 | title = "100Frames"; | 455 | title = "100Frames"; |
@@ -487,7 +487,7 @@ static void iwl3945_dbg_report_frame(struct iwl3945_priv *priv, | |||
487 | * but you can hack it to show more, if you'd like to. */ | 487 | * but you can hack it to show more, if you'd like to. */ |
488 | if (dataframe) | 488 | if (dataframe) |
489 | IWL_DEBUG_RX("%s: mhd=0x%04x, dst=0x%02x, " | 489 | IWL_DEBUG_RX("%s: mhd=0x%04x, dst=0x%02x, " |
490 | "len=%u, rssi=%d, chnl=%d, rate=%u, \n", | 490 | "len=%u, rssi=%d, chnl=%d, rate=%d, \n", |
491 | title, fc, header->addr1[5], | 491 | title, fc, header->addr1[5], |
492 | length, rssi, channel, rate); | 492 | length, rssi, channel, rate); |
493 | else { | 493 | else { |
@@ -588,8 +588,12 @@ static void iwl3945_add_radiotap(struct iwl3945_priv *priv, | |||
588 | 588 | ||
589 | if (rate == -1) | 589 | if (rate == -1) |
590 | iwl3945_rt->rt_rate = 0; | 590 | iwl3945_rt->rt_rate = 0; |
591 | else | 591 | else { |
592 | if (stats->band == IEEE80211_BAND_5GHZ) | ||
593 | rate += IWL_FIRST_OFDM_RATE; | ||
594 | |||
592 | iwl3945_rt->rt_rate = iwl3945_rates[rate].ieee; | 595 | iwl3945_rt->rt_rate = iwl3945_rates[rate].ieee; |
596 | } | ||
593 | 597 | ||
594 | /* antenna number */ | 598 | /* antenna number */ |
595 | antenna = phy_flags_hw & RX_RES_PHY_FLAGS_ANTENNA_MSK; | 599 | antenna = phy_flags_hw & RX_RES_PHY_FLAGS_ANTENNA_MSK; |
diff --git a/drivers/net/wireless/iwlwifi/iwl-4965.c b/drivers/net/wireless/iwlwifi/iwl-4965.c index bf19eb8aafd0..de330ae0ca95 100644 --- a/drivers/net/wireless/iwlwifi/iwl-4965.c +++ b/drivers/net/wireless/iwlwifi/iwl-4965.c | |||
@@ -3528,8 +3528,12 @@ static void iwl4965_add_radiotap(struct iwl_priv *priv, | |||
3528 | 3528 | ||
3529 | if (rate == -1) | 3529 | if (rate == -1) |
3530 | iwl4965_rt->rt_rate = 0; | 3530 | iwl4965_rt->rt_rate = 0; |
3531 | else | 3531 | else { |
3532 | if (stats->band == IEEE80211_BAND_5GHZ) | ||
3533 | rate += IWL_FIRST_OFDM_RATE; | ||
3534 | |||
3532 | iwl4965_rt->rt_rate = iwl4965_rates[rate].ieee; | 3535 | iwl4965_rt->rt_rate = iwl4965_rates[rate].ieee; |
3536 | } | ||
3533 | 3537 | ||
3534 | /* | 3538 | /* |
3535 | * "antenna number" | 3539 | * "antenna number" |
diff --git a/drivers/net/wireless/iwlwifi/iwl3945-base.c b/drivers/net/wireless/iwlwifi/iwl3945-base.c index b1b3c523185d..6027e1119c3f 100644 --- a/drivers/net/wireless/iwlwifi/iwl3945-base.c +++ b/drivers/net/wireless/iwlwifi/iwl3945-base.c | |||
@@ -6687,7 +6687,8 @@ static int iwl3945_mac_tx(struct ieee80211_hw *hw, struct sk_buff *skb, | |||
6687 | 6687 | ||
6688 | if (priv->iw_mode == IEEE80211_IF_TYPE_MNTR) { | 6688 | if (priv->iw_mode == IEEE80211_IF_TYPE_MNTR) { |
6689 | IWL_DEBUG_MAC80211("leave - monitor\n"); | 6689 | IWL_DEBUG_MAC80211("leave - monitor\n"); |
6690 | return -1; | 6690 | dev_kfree_skb_any(skb); |
6691 | return 0; | ||
6691 | } | 6692 | } |
6692 | 6693 | ||
6693 | IWL_DEBUG_TX("dev->xmit(%d bytes) at rate 0x%02x\n", skb->len, | 6694 | IWL_DEBUG_TX("dev->xmit(%d bytes) at rate 0x%02x\n", skb->len, |
diff --git a/drivers/net/wireless/iwlwifi/iwl4965-base.c b/drivers/net/wireless/iwlwifi/iwl4965-base.c index 5ed16ce78468..0bd55bb19739 100644 --- a/drivers/net/wireless/iwlwifi/iwl4965-base.c +++ b/drivers/net/wireless/iwlwifi/iwl4965-base.c | |||
@@ -6237,7 +6237,8 @@ static int iwl4965_mac_tx(struct ieee80211_hw *hw, struct sk_buff *skb, | |||
6237 | 6237 | ||
6238 | if (priv->iw_mode == IEEE80211_IF_TYPE_MNTR) { | 6238 | if (priv->iw_mode == IEEE80211_IF_TYPE_MNTR) { |
6239 | IWL_DEBUG_MAC80211("leave - monitor\n"); | 6239 | IWL_DEBUG_MAC80211("leave - monitor\n"); |
6240 | return -1; | 6240 | dev_kfree_skb_any(skb); |
6241 | return 0; | ||
6241 | } | 6242 | } |
6242 | 6243 | ||
6243 | IWL_DEBUG_TX("dev->xmit(%d bytes) at rate 0x%02x\n", skb->len, | 6244 | IWL_DEBUG_TX("dev->xmit(%d bytes) at rate 0x%02x\n", skb->len, |
diff --git a/drivers/net/wireless/libertas/if_cs.c b/drivers/net/wireless/libertas/if_cs.c index 54280e292ea5..d075b448da94 100644 --- a/drivers/net/wireless/libertas/if_cs.c +++ b/drivers/net/wireless/libertas/if_cs.c | |||
@@ -122,7 +122,7 @@ static inline void if_cs_write16(struct if_cs_card *card, uint reg, u16 val) | |||
122 | static inline void if_cs_write16_rep( | 122 | static inline void if_cs_write16_rep( |
123 | struct if_cs_card *card, | 123 | struct if_cs_card *card, |
124 | uint reg, | 124 | uint reg, |
125 | void *buf, | 125 | const void *buf, |
126 | unsigned long count) | 126 | unsigned long count) |
127 | { | 127 | { |
128 | if (debug_output) | 128 | if (debug_output) |
diff --git a/drivers/net/wireless/libertas/if_sdio.c b/drivers/net/wireless/libertas/if_sdio.c index 51f664bbee9d..3dd537be87d8 100644 --- a/drivers/net/wireless/libertas/if_sdio.c +++ b/drivers/net/wireless/libertas/if_sdio.c | |||
@@ -392,7 +392,7 @@ static int if_sdio_prog_helper(struct if_sdio_card *card) | |||
392 | unsigned long timeout; | 392 | unsigned long timeout; |
393 | u8 *chunk_buffer; | 393 | u8 *chunk_buffer; |
394 | u32 chunk_size; | 394 | u32 chunk_size; |
395 | u8 *firmware; | 395 | const u8 *firmware; |
396 | size_t size; | 396 | size_t size; |
397 | 397 | ||
398 | lbs_deb_enter(LBS_DEB_SDIO); | 398 | lbs_deb_enter(LBS_DEB_SDIO); |
@@ -508,7 +508,7 @@ static int if_sdio_prog_real(struct if_sdio_card *card) | |||
508 | unsigned long timeout; | 508 | unsigned long timeout; |
509 | u8 *chunk_buffer; | 509 | u8 *chunk_buffer; |
510 | u32 chunk_size; | 510 | u32 chunk_size; |
511 | u8 *firmware; | 511 | const u8 *firmware; |
512 | size_t size, req_size; | 512 | size_t size, req_size; |
513 | 513 | ||
514 | lbs_deb_enter(LBS_DEB_SDIO); | 514 | lbs_deb_enter(LBS_DEB_SDIO); |
diff --git a/drivers/net/wireless/libertas/if_usb.c b/drivers/net/wireless/libertas/if_usb.c index 8032df72aaab..4dcd4092e0f0 100644 --- a/drivers/net/wireless/libertas/if_usb.c +++ b/drivers/net/wireless/libertas/if_usb.c | |||
@@ -293,7 +293,7 @@ static void if_usb_disconnect(struct usb_interface *intf) | |||
293 | static int if_usb_send_fw_pkt(struct if_usb_card *cardp) | 293 | static int if_usb_send_fw_pkt(struct if_usb_card *cardp) |
294 | { | 294 | { |
295 | struct fwdata *fwdata = cardp->ep_out_buf; | 295 | struct fwdata *fwdata = cardp->ep_out_buf; |
296 | uint8_t *firmware = cardp->fw->data; | 296 | const uint8_t *firmware = cardp->fw->data; |
297 | 297 | ||
298 | /* If we got a CRC failure on the last block, back | 298 | /* If we got a CRC failure on the last block, back |
299 | up and retry it */ | 299 | up and retry it */ |
@@ -746,7 +746,7 @@ static int if_usb_issue_boot_command(struct if_usb_card *cardp, int ivalue) | |||
746 | * len image length | 746 | * len image length |
747 | * @return 0 or -1 | 747 | * @return 0 or -1 |
748 | */ | 748 | */ |
749 | static int check_fwfile_format(uint8_t *data, uint32_t totlen) | 749 | static int check_fwfile_format(const uint8_t *data, uint32_t totlen) |
750 | { | 750 | { |
751 | uint32_t bincmd, exit; | 751 | uint32_t bincmd, exit; |
752 | uint32_t blksize, offset, len; | 752 | uint32_t blksize, offset, len; |
@@ -925,6 +925,7 @@ static struct usb_driver if_usb_driver = { | |||
925 | .id_table = if_usb_table, | 925 | .id_table = if_usb_table, |
926 | .suspend = if_usb_suspend, | 926 | .suspend = if_usb_suspend, |
927 | .resume = if_usb_resume, | 927 | .resume = if_usb_resume, |
928 | .reset_resume = if_usb_resume, | ||
928 | }; | 929 | }; |
929 | 930 | ||
930 | static int __init if_usb_init_module(void) | 931 | static int __init if_usb_init_module(void) |
diff --git a/drivers/net/wireless/libertas/scan.c b/drivers/net/wireless/libertas/scan.c index d448c9702a0f..387d4878af2f 100644 --- a/drivers/net/wireless/libertas/scan.c +++ b/drivers/net/wireless/libertas/scan.c | |||
@@ -567,11 +567,11 @@ static int lbs_process_bss(struct bss_descriptor *bss, | |||
567 | pos += 8; | 567 | pos += 8; |
568 | 568 | ||
569 | /* beacon interval is 2 bytes long */ | 569 | /* beacon interval is 2 bytes long */ |
570 | bss->beaconperiod = le16_to_cpup((void *) pos); | 570 | bss->beaconperiod = get_unaligned_le16(pos); |
571 | pos += 2; | 571 | pos += 2; |
572 | 572 | ||
573 | /* capability information is 2 bytes long */ | 573 | /* capability information is 2 bytes long */ |
574 | bss->capability = le16_to_cpup((void *) pos); | 574 | bss->capability = get_unaligned_le16(pos); |
575 | lbs_deb_scan("process_bss: capabilities 0x%04x\n", bss->capability); | 575 | lbs_deb_scan("process_bss: capabilities 0x%04x\n", bss->capability); |
576 | pos += 2; | 576 | pos += 2; |
577 | 577 | ||
diff --git a/drivers/net/wireless/p54/p54usb.c b/drivers/net/wireless/p54/p54usb.c index 1610a7308c1d..815c095ef797 100644 --- a/drivers/net/wireless/p54/p54usb.c +++ b/drivers/net/wireless/p54/p54usb.c | |||
@@ -376,7 +376,8 @@ static int p54u_upload_firmware_3887(struct ieee80211_hw *dev) | |||
376 | const struct firmware *fw_entry = NULL; | 376 | const struct firmware *fw_entry = NULL; |
377 | int err, alen; | 377 | int err, alen; |
378 | u8 carry = 0; | 378 | u8 carry = 0; |
379 | u8 *buf, *tmp, *data; | 379 | u8 *buf, *tmp; |
380 | const u8 *data; | ||
380 | unsigned int left, remains, block_size; | 381 | unsigned int left, remains, block_size; |
381 | struct x2_header *hdr; | 382 | struct x2_header *hdr; |
382 | unsigned long timeout; | 383 | unsigned long timeout; |
@@ -523,7 +524,7 @@ static int p54u_upload_firmware_net2280(struct ieee80211_hw *dev) | |||
523 | void *buf; | 524 | void *buf; |
524 | __le32 reg; | 525 | __le32 reg; |
525 | unsigned int remains, offset; | 526 | unsigned int remains, offset; |
526 | u8 *data; | 527 | const u8 *data; |
527 | 528 | ||
528 | buf = kmalloc(512, GFP_KERNEL); | 529 | buf = kmalloc(512, GFP_KERNEL); |
529 | if (!buf) { | 530 | if (!buf) { |
diff --git a/drivers/net/wireless/rt2x00/rt2400pci.c b/drivers/net/wireless/rt2x00/rt2400pci.c index 560b9c73c0b9..b36ed1c6c746 100644 --- a/drivers/net/wireless/rt2x00/rt2400pci.c +++ b/drivers/net/wireless/rt2x00/rt2400pci.c | |||
@@ -731,6 +731,17 @@ static int rt2400pci_init_registers(struct rt2x00_dev *rt2x00dev) | |||
731 | (rt2x00dev->rx->data_size / 128)); | 731 | (rt2x00dev->rx->data_size / 128)); |
732 | rt2x00pci_register_write(rt2x00dev, CSR9, reg); | 732 | rt2x00pci_register_write(rt2x00dev, CSR9, reg); |
733 | 733 | ||
734 | rt2x00pci_register_read(rt2x00dev, CSR14, ®); | ||
735 | rt2x00_set_field32(®, CSR14_TSF_COUNT, 0); | ||
736 | rt2x00_set_field32(®, CSR14_TSF_SYNC, 0); | ||
737 | rt2x00_set_field32(®, CSR14_TBCN, 0); | ||
738 | rt2x00_set_field32(®, CSR14_TCFP, 0); | ||
739 | rt2x00_set_field32(®, CSR14_TATIMW, 0); | ||
740 | rt2x00_set_field32(®, CSR14_BEACON_GEN, 0); | ||
741 | rt2x00_set_field32(®, CSR14_CFP_COUNT_PRELOAD, 0); | ||
742 | rt2x00_set_field32(®, CSR14_TBCM_PRELOAD, 0); | ||
743 | rt2x00pci_register_write(rt2x00dev, CSR14, reg); | ||
744 | |||
734 | rt2x00pci_register_write(rt2x00dev, CNT3, 0x3f080000); | 745 | rt2x00pci_register_write(rt2x00dev, CNT3, 0x3f080000); |
735 | 746 | ||
736 | rt2x00pci_register_read(rt2x00dev, ARCSR0, ®); | 747 | rt2x00pci_register_read(rt2x00dev, ARCSR0, ®); |
diff --git a/drivers/net/wireless/rt2x00/rt2500pci.c b/drivers/net/wireless/rt2x00/rt2500pci.c index a5ed54b69262..f7731fb82555 100644 --- a/drivers/net/wireless/rt2x00/rt2500pci.c +++ b/drivers/net/wireless/rt2x00/rt2500pci.c | |||
@@ -824,6 +824,17 @@ static int rt2500pci_init_registers(struct rt2x00_dev *rt2x00dev) | |||
824 | rt2x00_set_field32(®, CSR11_CW_SELECT, 0); | 824 | rt2x00_set_field32(®, CSR11_CW_SELECT, 0); |
825 | rt2x00pci_register_write(rt2x00dev, CSR11, reg); | 825 | rt2x00pci_register_write(rt2x00dev, CSR11, reg); |
826 | 826 | ||
827 | rt2x00pci_register_read(rt2x00dev, CSR14, ®); | ||
828 | rt2x00_set_field32(®, CSR14_TSF_COUNT, 0); | ||
829 | rt2x00_set_field32(®, CSR14_TSF_SYNC, 0); | ||
830 | rt2x00_set_field32(®, CSR14_TBCN, 0); | ||
831 | rt2x00_set_field32(®, CSR14_TCFP, 0); | ||
832 | rt2x00_set_field32(®, CSR14_TATIMW, 0); | ||
833 | rt2x00_set_field32(®, CSR14_BEACON_GEN, 0); | ||
834 | rt2x00_set_field32(®, CSR14_CFP_COUNT_PRELOAD, 0); | ||
835 | rt2x00_set_field32(®, CSR14_TBCM_PRELOAD, 0); | ||
836 | rt2x00pci_register_write(rt2x00dev, CSR14, reg); | ||
837 | |||
827 | rt2x00pci_register_write(rt2x00dev, CNT3, 0); | 838 | rt2x00pci_register_write(rt2x00dev, CNT3, 0); |
828 | 839 | ||
829 | rt2x00pci_register_read(rt2x00dev, TXCSR8, ®); | 840 | rt2x00pci_register_read(rt2x00dev, TXCSR8, ®); |
diff --git a/drivers/net/wireless/rt2x00/rt2500usb.c b/drivers/net/wireless/rt2x00/rt2500usb.c index 61e59c17a60a..d90512f97b39 100644 --- a/drivers/net/wireless/rt2x00/rt2500usb.c +++ b/drivers/net/wireless/rt2x00/rt2500usb.c | |||
@@ -801,6 +801,13 @@ static int rt2500usb_init_registers(struct rt2x00_dev *rt2x00dev) | |||
801 | rt2x00_set_field16(®, TXRX_CSR8_BBP_ID1_VALID, 0); | 801 | rt2x00_set_field16(®, TXRX_CSR8_BBP_ID1_VALID, 0); |
802 | rt2500usb_register_write(rt2x00dev, TXRX_CSR8, reg); | 802 | rt2500usb_register_write(rt2x00dev, TXRX_CSR8, reg); |
803 | 803 | ||
804 | rt2500usb_register_read(rt2x00dev, TXRX_CSR19, ®); | ||
805 | rt2x00_set_field16(®, TXRX_CSR19_TSF_COUNT, 0); | ||
806 | rt2x00_set_field16(®, TXRX_CSR19_TSF_SYNC, 0); | ||
807 | rt2x00_set_field16(®, TXRX_CSR19_TBCN, 0); | ||
808 | rt2x00_set_field16(®, TXRX_CSR19_BEACON_GEN, 0); | ||
809 | rt2500usb_register_write(rt2x00dev, TXRX_CSR19, reg); | ||
810 | |||
804 | rt2500usb_register_write(rt2x00dev, TXRX_CSR21, 0xe78f); | 811 | rt2500usb_register_write(rt2x00dev, TXRX_CSR21, 0xe78f); |
805 | rt2500usb_register_write(rt2x00dev, MAC_CSR9, 0xff1d); | 812 | rt2500usb_register_write(rt2x00dev, MAC_CSR9, 0xff1d); |
806 | 813 | ||
diff --git a/drivers/net/wireless/rt2x00/rt2x00.h b/drivers/net/wireless/rt2x00/rt2x00.h index b4bf1e09cf9a..a74e1a5c56fd 100644 --- a/drivers/net/wireless/rt2x00/rt2x00.h +++ b/drivers/net/wireless/rt2x00/rt2x00.h | |||
@@ -511,8 +511,8 @@ struct rt2x00lib_ops { | |||
511 | */ | 511 | */ |
512 | int (*probe_hw) (struct rt2x00_dev *rt2x00dev); | 512 | int (*probe_hw) (struct rt2x00_dev *rt2x00dev); |
513 | char *(*get_firmware_name) (struct rt2x00_dev *rt2x00dev); | 513 | char *(*get_firmware_name) (struct rt2x00_dev *rt2x00dev); |
514 | u16 (*get_firmware_crc) (void *data, const size_t len); | 514 | u16 (*get_firmware_crc) (const void *data, const size_t len); |
515 | int (*load_firmware) (struct rt2x00_dev *rt2x00dev, void *data, | 515 | int (*load_firmware) (struct rt2x00_dev *rt2x00dev, const void *data, |
516 | const size_t len); | 516 | const size_t len); |
517 | 517 | ||
518 | /* | 518 | /* |
diff --git a/drivers/net/wireless/rt2x00/rt2x00pci.h b/drivers/net/wireless/rt2x00/rt2x00pci.h index 9d1cdb99431c..b41967ecbf6d 100644 --- a/drivers/net/wireless/rt2x00/rt2x00pci.h +++ b/drivers/net/wireless/rt2x00/rt2x00pci.h | |||
@@ -82,7 +82,7 @@ static inline void rt2x00pci_register_write(struct rt2x00_dev *rt2x00dev, | |||
82 | static inline void | 82 | static inline void |
83 | rt2x00pci_register_multiwrite(struct rt2x00_dev *rt2x00dev, | 83 | rt2x00pci_register_multiwrite(struct rt2x00_dev *rt2x00dev, |
84 | const unsigned long offset, | 84 | const unsigned long offset, |
85 | void *value, const u16 length) | 85 | const void *value, const u16 length) |
86 | { | 86 | { |
87 | memcpy_toio(rt2x00dev->csr.base + offset, value, length); | 87 | memcpy_toio(rt2x00dev->csr.base + offset, value, length); |
88 | } | 88 | } |
diff --git a/drivers/net/wireless/rt2x00/rt61pci.c b/drivers/net/wireless/rt2x00/rt61pci.c index 14bc7b281659..580f90b63de7 100644 --- a/drivers/net/wireless/rt2x00/rt61pci.c +++ b/drivers/net/wireless/rt2x00/rt61pci.c | |||
@@ -915,7 +915,7 @@ static char *rt61pci_get_firmware_name(struct rt2x00_dev *rt2x00dev) | |||
915 | return fw_name; | 915 | return fw_name; |
916 | } | 916 | } |
917 | 917 | ||
918 | static u16 rt61pci_get_firmware_crc(void *data, const size_t len) | 918 | static u16 rt61pci_get_firmware_crc(const void *data, const size_t len) |
919 | { | 919 | { |
920 | u16 crc; | 920 | u16 crc; |
921 | 921 | ||
@@ -932,7 +932,7 @@ static u16 rt61pci_get_firmware_crc(void *data, const size_t len) | |||
932 | return crc; | 932 | return crc; |
933 | } | 933 | } |
934 | 934 | ||
935 | static int rt61pci_load_firmware(struct rt2x00_dev *rt2x00dev, void *data, | 935 | static int rt61pci_load_firmware(struct rt2x00_dev *rt2x00dev, const void *data, |
936 | const size_t len) | 936 | const size_t len) |
937 | { | 937 | { |
938 | int i; | 938 | int i; |
@@ -1201,6 +1201,15 @@ static int rt61pci_init_registers(struct rt2x00_dev *rt2x00dev) | |||
1201 | rt2x00_set_field32(®, TXRX_CSR8_ACK_CTS_54MBS, 42); | 1201 | rt2x00_set_field32(®, TXRX_CSR8_ACK_CTS_54MBS, 42); |
1202 | rt2x00pci_register_write(rt2x00dev, TXRX_CSR8, reg); | 1202 | rt2x00pci_register_write(rt2x00dev, TXRX_CSR8, reg); |
1203 | 1203 | ||
1204 | rt2x00pci_register_read(rt2x00dev, TXRX_CSR9, ®); | ||
1205 | rt2x00_set_field32(®, TXRX_CSR9_BEACON_INTERVAL, 0); | ||
1206 | rt2x00_set_field32(®, TXRX_CSR9_TSF_TICKING, 0); | ||
1207 | rt2x00_set_field32(®, TXRX_CSR9_TSF_SYNC, 0); | ||
1208 | rt2x00_set_field32(®, TXRX_CSR9_TBTT_ENABLE, 0); | ||
1209 | rt2x00_set_field32(®, TXRX_CSR9_BEACON_GEN, 0); | ||
1210 | rt2x00_set_field32(®, TXRX_CSR9_TIMESTAMP_COMPENSATE, 0); | ||
1211 | rt2x00pci_register_write(rt2x00dev, TXRX_CSR9, reg); | ||
1212 | |||
1204 | rt2x00pci_register_write(rt2x00dev, TXRX_CSR15, 0x0000000f); | 1213 | rt2x00pci_register_write(rt2x00dev, TXRX_CSR15, 0x0000000f); |
1205 | 1214 | ||
1206 | rt2x00pci_register_write(rt2x00dev, MAC_CSR6, 0x00000fff); | 1215 | rt2x00pci_register_write(rt2x00dev, MAC_CSR6, 0x00000fff); |
diff --git a/drivers/net/wireless/rt2x00/rt73usb.c b/drivers/net/wireless/rt2x00/rt73usb.c index 83cc0147f698..6a62d6bb96fe 100644 --- a/drivers/net/wireless/rt2x00/rt73usb.c +++ b/drivers/net/wireless/rt2x00/rt73usb.c | |||
@@ -856,7 +856,7 @@ static char *rt73usb_get_firmware_name(struct rt2x00_dev *rt2x00dev) | |||
856 | return FIRMWARE_RT2571; | 856 | return FIRMWARE_RT2571; |
857 | } | 857 | } |
858 | 858 | ||
859 | static u16 rt73usb_get_firmware_crc(void *data, const size_t len) | 859 | static u16 rt73usb_get_firmware_crc(const void *data, const size_t len) |
860 | { | 860 | { |
861 | u16 crc; | 861 | u16 crc; |
862 | 862 | ||
@@ -873,13 +873,13 @@ static u16 rt73usb_get_firmware_crc(void *data, const size_t len) | |||
873 | return crc; | 873 | return crc; |
874 | } | 874 | } |
875 | 875 | ||
876 | static int rt73usb_load_firmware(struct rt2x00_dev *rt2x00dev, void *data, | 876 | static int rt73usb_load_firmware(struct rt2x00_dev *rt2x00dev, const void *data, |
877 | const size_t len) | 877 | const size_t len) |
878 | { | 878 | { |
879 | unsigned int i; | 879 | unsigned int i; |
880 | int status; | 880 | int status; |
881 | u32 reg; | 881 | u32 reg; |
882 | char *ptr = data; | 882 | const char *ptr = data; |
883 | char *cache; | 883 | char *cache; |
884 | int buflen; | 884 | int buflen; |
885 | int timeout; | 885 | int timeout; |
@@ -1006,6 +1006,15 @@ static int rt73usb_init_registers(struct rt2x00_dev *rt2x00dev) | |||
1006 | rt2x00_set_field32(®, TXRX_CSR8_ACK_CTS_54MBS, 42); | 1006 | rt2x00_set_field32(®, TXRX_CSR8_ACK_CTS_54MBS, 42); |
1007 | rt73usb_register_write(rt2x00dev, TXRX_CSR8, reg); | 1007 | rt73usb_register_write(rt2x00dev, TXRX_CSR8, reg); |
1008 | 1008 | ||
1009 | rt73usb_register_read(rt2x00dev, TXRX_CSR9, ®); | ||
1010 | rt2x00_set_field32(®, TXRX_CSR9_BEACON_INTERVAL, 0); | ||
1011 | rt2x00_set_field32(®, TXRX_CSR9_TSF_TICKING, 0); | ||
1012 | rt2x00_set_field32(®, TXRX_CSR9_TSF_SYNC, 0); | ||
1013 | rt2x00_set_field32(®, TXRX_CSR9_TBTT_ENABLE, 0); | ||
1014 | rt2x00_set_field32(®, TXRX_CSR9_BEACON_GEN, 0); | ||
1015 | rt2x00_set_field32(®, TXRX_CSR9_TIMESTAMP_COMPENSATE, 0); | ||
1016 | rt73usb_register_write(rt2x00dev, TXRX_CSR9, reg); | ||
1017 | |||
1009 | rt73usb_register_write(rt2x00dev, TXRX_CSR15, 0x0000000f); | 1018 | rt73usb_register_write(rt2x00dev, TXRX_CSR15, 0x0000000f); |
1010 | 1019 | ||
1011 | rt73usb_register_read(rt2x00dev, MAC_CSR6, ®); | 1020 | rt73usb_register_read(rt2x00dev, MAC_CSR6, ®); |
diff --git a/drivers/net/wireless/zd1201.c b/drivers/net/wireless/zd1201.c index d5c0c66188ca..78baa0f7926d 100644 --- a/drivers/net/wireless/zd1201.c +++ b/drivers/net/wireless/zd1201.c | |||
@@ -49,7 +49,7 @@ MODULE_DEVICE_TABLE(usb, zd1201_table); | |||
49 | static int zd1201_fw_upload(struct usb_device *dev, int apfw) | 49 | static int zd1201_fw_upload(struct usb_device *dev, int apfw) |
50 | { | 50 | { |
51 | const struct firmware *fw_entry; | 51 | const struct firmware *fw_entry; |
52 | char *data; | 52 | const char *data; |
53 | unsigned long len; | 53 | unsigned long len; |
54 | int err; | 54 | int err; |
55 | unsigned char ret; | 55 | unsigned char ret; |
diff --git a/drivers/net/wireless/zd1211rw/zd_mac.c b/drivers/net/wireless/zd1211rw/zd_mac.c index 418606ac1c3b..694e95d35fd4 100644 --- a/drivers/net/wireless/zd1211rw/zd_mac.c +++ b/drivers/net/wireless/zd1211rw/zd_mac.c | |||
@@ -765,6 +765,7 @@ static void zd_op_remove_interface(struct ieee80211_hw *hw, | |||
765 | { | 765 | { |
766 | struct zd_mac *mac = zd_hw_mac(hw); | 766 | struct zd_mac *mac = zd_hw_mac(hw); |
767 | mac->type = IEEE80211_IF_TYPE_INVALID; | 767 | mac->type = IEEE80211_IF_TYPE_INVALID; |
768 | zd_set_beacon_interval(&mac->chip, 0); | ||
768 | zd_write_mac_addr(&mac->chip, NULL); | 769 | zd_write_mac_addr(&mac->chip, NULL); |
769 | } | 770 | } |
770 | 771 | ||
diff --git a/drivers/net/wireless/zd1211rw/zd_usb.c b/drivers/net/wireless/zd1211rw/zd_usb.c index 8941f5eb96c2..6cdad9764604 100644 --- a/drivers/net/wireless/zd1211rw/zd_usb.c +++ b/drivers/net/wireless/zd1211rw/zd_usb.c | |||
@@ -64,6 +64,7 @@ static struct usb_device_id usb_ids[] = { | |||
64 | { USB_DEVICE(0x079b, 0x0062), .driver_info = DEVICE_ZD1211B }, | 64 | { USB_DEVICE(0x079b, 0x0062), .driver_info = DEVICE_ZD1211B }, |
65 | { USB_DEVICE(0x1582, 0x6003), .driver_info = DEVICE_ZD1211B }, | 65 | { USB_DEVICE(0x1582, 0x6003), .driver_info = DEVICE_ZD1211B }, |
66 | { USB_DEVICE(0x050d, 0x705c), .driver_info = DEVICE_ZD1211B }, | 66 | { USB_DEVICE(0x050d, 0x705c), .driver_info = DEVICE_ZD1211B }, |
67 | { USB_DEVICE(0x083a, 0xe506), .driver_info = DEVICE_ZD1211B }, | ||
67 | { USB_DEVICE(0x083a, 0x4505), .driver_info = DEVICE_ZD1211B }, | 68 | { USB_DEVICE(0x083a, 0x4505), .driver_info = DEVICE_ZD1211B }, |
68 | { USB_DEVICE(0x0471, 0x1236), .driver_info = DEVICE_ZD1211B }, | 69 | { USB_DEVICE(0x0471, 0x1236), .driver_info = DEVICE_ZD1211B }, |
69 | { USB_DEVICE(0x13b1, 0x0024), .driver_info = DEVICE_ZD1211B }, | 70 | { USB_DEVICE(0x13b1, 0x0024), .driver_info = DEVICE_ZD1211B }, |
diff --git a/drivers/net/xen-netfront.c b/drivers/net/xen-netfront.c index d26f69b0184f..ef671d1a3bf0 100644 --- a/drivers/net/xen-netfront.c +++ b/drivers/net/xen-netfront.c | |||
@@ -1324,7 +1324,7 @@ static int setup_netfront(struct xenbus_device *dev, struct netfront_info *info) | |||
1324 | goto fail; | 1324 | goto fail; |
1325 | } | 1325 | } |
1326 | 1326 | ||
1327 | txs = (struct xen_netif_tx_sring *)get_zeroed_page(GFP_KERNEL); | 1327 | txs = (struct xen_netif_tx_sring *)get_zeroed_page(GFP_NOIO | __GFP_HIGH); |
1328 | if (!txs) { | 1328 | if (!txs) { |
1329 | err = -ENOMEM; | 1329 | err = -ENOMEM; |
1330 | xenbus_dev_fatal(dev, err, "allocating tx ring page"); | 1330 | xenbus_dev_fatal(dev, err, "allocating tx ring page"); |
@@ -1340,7 +1340,7 @@ static int setup_netfront(struct xenbus_device *dev, struct netfront_info *info) | |||
1340 | } | 1340 | } |
1341 | 1341 | ||
1342 | info->tx_ring_ref = err; | 1342 | info->tx_ring_ref = err; |
1343 | rxs = (struct xen_netif_rx_sring *)get_zeroed_page(GFP_KERNEL); | 1343 | rxs = (struct xen_netif_rx_sring *)get_zeroed_page(GFP_NOIO | __GFP_HIGH); |
1344 | if (!rxs) { | 1344 | if (!rxs) { |
1345 | err = -ENOMEM; | 1345 | err = -ENOMEM; |
1346 | xenbus_dev_fatal(dev, err, "allocating rx ring page"); | 1346 | xenbus_dev_fatal(dev, err, "allocating rx ring page"); |