Q:

Where to file a bug?

There are lots of Linux distributions and every one of them is made according to maintainers point of view using different DE, package managers, kernels etc.
When some part of your hardware is failing to work properly reporting a bug on that should be forwarded to distro maintainers or directly to kernel maintainers? 
How a novice user of linux can know where to go when something is not working correctly and all other resources (google, forums) failed to solve a problem?

A:

The first stop is your distribution bug tracker, from there on you will be guided to the next step.
It is said that (unless you are able to reproduce the same bug in any distribution or that if you compile from sources and you are able to reproduce it in several systems) you should report downstream (i.e. at your distribution).
In doubt always report to your specific distribution bug tracker, be sure to read their guides, so the bug can be fixed in brevity (ie. no missing information that has to be teased out the reporter).
There are various guide for each distribution:

Ubuntu
Debian
RHEL based (this seems to be the standard way to report bugs on RHEL and friends)
Arch Linux
Linux Kernel Unless asked by downstream you MAY never do this. 

