goto bad_desc;
        }
 skip:
-       /* Communcation class functions with bmCapabilities are not
+       /* Communication class functions with bmCapabilities are not
         * RNDIS.  But some Wireless class RNDIS functions use
         * bmCapabilities for their own purpose. The failsafe is
         * therefore applied only to Communication class RNDIS
 
        return NULL;
 }
 
-/* Some devices are known to send Neigbor Solicitation messages and
- * require Neigbor Advertisement replies.  The IPv6 core will not
+/* Some devices are known to send Neighbor Solicitation messages and
+ * require Neighbor Advertisement replies.  The IPv6 core will not
  * respond since IFF_NOARP is set, so we must handle them ourselves.
  */
 static void do_neigh_solicit(struct usbnet *dev, u8 *buf, u16 tci)
  *
  * Note: The current implementation of this feature restricts each NTB
  * to a single NDP, implying that multiplexed sessions cannot share an
- * NTB. This might affect performace for multiplexed sessions.
+ * NTB. This might affect performance for multiplexed sessions.
  */
 static const struct driver_info cdc_mbim_info_ndp_to_end = {
        .description = "CDC MBIM",
 
        /* set MTU to max supported by the device if necessary */
        dev->net->mtu = min_t(int, dev->net->mtu, ctx->max_datagram_size - cdc_ncm_eth_hlen(dev));
 
-       /* do not exceed operater preferred MTU */
+       /* do not exceed operator preferred MTU */
        if (ctx->mbim_extended_desc) {
                mbim_mtu = le16_to_cpu(ctx->mbim_extended_desc->wMTU);
                if (mbim_mtu != 0 && mbim_mtu < dev->net->mtu)
        struct cdc_ncm_ctx *ctx = (struct cdc_ncm_ctx *)dev->data[0];
        u32 def_rx, def_tx;
 
-       /* be conservative when selecting intial buffer size to
+       /* be conservative when selecting initial buffer size to
         * increase the number of hosts this will work for
         */
        def_rx = min_t(u32, CDC_NCM_NTB_DEF_SIZE_RX,
 
        int need_tail = 0;
        __le16 *len;
 
-       /* if packet and our header is smaler than 64 pad to 64 (+ ZLP) */
+       /* if packet and our header is smaller than 64 pad to 64 (+ ZLP) */
        if ((pack_with_header_len) < dev->maxpacket)
                need_tail = dev->maxpacket - pack_with_header_len + 1;
        /*
 
 struct lan78xx_priv {
        struct lan78xx_net *dev;
        u32 rfe_ctl;
-       u32 mchash_table[DP_SEL_VHF_HASH_LEN]; /* multicat hash table */
+       u32 mchash_table[DP_SEL_VHF_HASH_LEN]; /* multicast hash table */
        u32 pfilter_table[NUM_OF_MAF][2]; /* perfect filter table */
        u32 vlan_table[DP_SEL_VHF_VLAN_LEN];
        struct mutex dataport_mutex; /* for dataport access */
 
  * Windows/Mac drivers do send a couple of such frames to the device
  * during initialisation, with protocol set to 0x0906 or 0x0b06 and (what
  * seems to be) a flag in the .dummy_flags.  This doesn't seem necessary
- * for modem operation but can possibly be used for GPS or other funcitons.
+ * for modem operation but can possibly be used for GPS or other functions.
  */
 
 struct vl600_frame_hdr {
        /* ARP packets don't go through, but they're also of no use.  The
         * subnet has only two hosts anyway: us and the gateway / DHCP
         * server (probably simulated by modem firmware or network operator)
-        * whose address changes everytime we connect to the intarwebz and
+        * whose address changes every time we connect to the intarwebz and
         * who doesn't bother answering ARP requests either.  So hardware
         * addresses have no meaning, the destination and the source of every
         * packet depend only on whether it is on the IN or OUT endpoint.  */
 
                        unsigned int pkt_len, rx_frag_head_sz;
                        struct sk_buff *skb;
 
-                       /* limite the skb numbers for rx_queue */
+                       /* limit the skb numbers for rx_queue */
                        if (unlikely(skb_queue_len(&tp->rx_queue) >= 1000))
                                break;
 
        if (!tp)
                return 0;
 
-       /* reset the MAC adddress in case of policy change */
+       /* reset the MAC address in case of policy change */
        if (determine_ethernet_addr(tp, &sa) >= 0) {
                rtnl_lock();
                dev_set_mac_address (tp->netdev, &sa, NULL);
 
         * For RX we handle drivers that zero-pad to end-of-packet.
         * Don't let userspace change these settings.
         *
-        * NOTE: there still seems to be wierdness here, as if we need
+        * NOTE: there still seems to be weirdness here, as if we need
         * to do some more things to make sure WinCE targets accept this.
         * They default to jumbograms of 8KB or 16KB, which is absurd
         * for such low data rates and which is also more than Linux