kernel update failed

i tried to update the kernel to 3.9.3 because my laptop freezes randomly
it gave me some errors and didn’t update
this is the log:

DKMS make.log for bcmwl-6.20.155.1+bdcom for kernel 3.9.3-030903-generic (x86_64) do nov 21 11:22:13 CET 2013 make: Entering directory `/usr/src/linux-headers-3.9.3-030903-generic' CFG80211 API is prefered for this kernel version Using CFG80211 API LD /var/lib/dkms/bcmwl/6.20.155.1+bdcom/build/built-in.o CC [M] /var/lib/dkms/bcmwl/6.20.155.1+bdcom/build/src/shared/linux_osl.o CC [M] /var/lib/dkms/bcmwl/6.20.155.1+bdcom/build/src/wl/sys/wl_linux.o CC [M] /var/lib/dkms/bcmwl/6.20.155.1+bdcom/build/src/wl/sys/wl_iw.o CC [M] /var/lib/dkms/bcmwl/6.20.155.1+bdcom/build/src/wl/sys/wl_cfg80211.o /var/lib/dkms/bcmwl/6.20.155.1+bdcom/build/src/wl/sys/wl_cfg80211.c:1578:2: warning: initialization from incompatible pointer type [enabled by default] /var/lib/dkms/bcmwl/6.20.155.1+bdcom/build/src/wl/sys/wl_cfg80211.c:1578:2: warning: (near initialization for ‘wl_cfg80211_ops.set_tx_power’) [enabled by default] /var/lib/dkms/bcmwl/6.20.155.1+bdcom/build/src/wl/sys/wl_cfg80211.c:1579:2: warning: initialization from incompatible pointer type [enabled by default] /var/lib/dkms/bcmwl/6.20.155.1+bdcom/build/src/wl/sys/wl_cfg80211.c:1579:2: warning: (near initialization for ‘wl_cfg80211_ops.get_tx_power’) [enabled by default] /var/lib/dkms/bcmwl/6.20.155.1+bdcom/build/src/wl/sys/wl_cfg80211.c: In function ‘wl_update_bss_info’: /var/lib/dkms/bcmwl/6.20.155.1+bdcom/build/src/wl/sys/wl_cfg80211.c:2025:3: warning: passing argument 1 of ‘cfg80211_put_bss’ from incompatible pointer type [enabled by default] In file included from /var/lib/dkms/bcmwl/6.20.155.1+bdcom/build/src/wl/sys/wl_cfg80211.c:33:0: include/net/cfg80211.h:3302:6: note: expected ‘struct wiphy *’ but argument is of type ‘struct cfg80211_bss *’ /var/lib/dkms/bcmwl/6.20.155.1+bdcom/build/src/wl/sys/wl_cfg80211.c:2025:3: error: too few arguments to function ‘cfg80211_put_bss’ In file included from /var/lib/dkms/bcmwl/6.20.155.1+bdcom/build/src/wl/sys/wl_cfg80211.c:33:0: include/net/cfg80211.h:3302:6: note: declared here make[1]: *** [/var/lib/dkms/bcmwl/6.20.155.1+bdcom/build/src/wl/sys/wl_cfg80211.o] Error 1 make: *** [_module_/var/lib/dkms/bcmwl/6.20.155.1+bdcom/build] Error 2 make: Leaving directory `/usr/src/linux-headers-3.9.3-030903-generic'

it installed the kernel anyway i see.
the only problem is that my wireless is not working anymore
with the old kernel i had to use sudo modprobe wl before the module would start
but with the new kernel it doesn’t work anymore.
when i use the command it says:
ERROR: could not insert ‘wl’: Exec format error

i reinstalled the driver but it doesnt work

The driver module could not be compiled with the newer kernel thats the reason you cannot modprobe it on the new kernel.
For the older kernel I guess that there is another (maybe opensource) driver active for you card that you need to blacklist.
As google or duckduckgo search for linux blacklist <your_wifi_chip> might give you a clue.