vserver 1.9.3
[linux-2.6.git] / drivers / usb / host / ehci-mem.c
index 31f311d..beee4d9 100644 (file)
@@ -114,7 +114,7 @@ static struct ehci_qh *ehci_qh_alloc (struct ehci_hcd *ehci, int flags)
                return qh;
 
        memset (qh, 0, sizeof *qh);
-       kref_init(&qh->kref, qh_destroy);
+       kref_init(&qh->kref);
        qh->ehci = ehci;
        qh->qh_dma = dma;
        // INIT_LIST_HEAD (&qh->qh_list);
@@ -139,7 +139,7 @@ static inline struct ehci_qh *qh_get (struct ehci_qh *qh)
 
 static inline void qh_put (struct ehci_qh *qh)
 {
-       kref_put(&qh->kref);
+       kref_put(&qh->kref, qh_destroy);
 }
 
 /*-------------------------------------------------------------------------*/
@@ -235,9 +235,9 @@ static int ehci_mem_init (struct ehci_hcd *ehci, int flags)
        }
 
        /* Hardware periodic table */
-       ehci->periodic = (u32 *)
+       ehci->periodic = (__le32 *)
                dma_alloc_coherent (ehci->hcd.self.controller,
-                       ehci->periodic_size * sizeof (u32),
+                       ehci->periodic_size * sizeof(__le32),
                        &ehci->periodic_dma, 0);
        if (ehci->periodic == 0) {
                goto fail;